Hàm QUERY Google Sheets — Hướng Dẫn Chi Tiết Với 20+ Ví Dụ Thực Tế (2026)
QUERY là hàm mạnh nhất của Google Sheets — học một lần, dùng cả đời.
Bài viết tổng hợp cú pháp đầy đủ, 20+ ví dụ thực tế từ cơ bản đến nâng cao, các lỗi thường gặp và cách khắc phục. Phù hợp cho người làm báo cáo, kế toán, marketing, vận hành.
Mục lục:
1. Hàm QUERY Là Gì?
QUERY là hàm độc đáo của Google Sheets, sử dụng Google Visualization API Query Language — một biến thể của SQL — để truy vấn dữ liệu ngay trong bảng tính. Thay vì kết hợp 5-7 hàm FILTER, SORT, SUMIF, COUNTIF, INDEX để xử lý dữ liệu, bạn chỉ cần một câu lệnh QUERY duy nhất.
Đây là điều Excel không có. Trong khi người dùng Excel phải viết Power Query hoặc VBA cho các tác vụ tương đương, người dùng Google Sheets chỉ cần một dòng công thức. Nhờ đó, QUERY trở thành kỹ năng phân biệt giữa "người dùng cơ bản" và "người dùng chuyên nghiệp" trên Google Sheets.
Khi nào nên dùng QUERY:
- Lọc dữ liệu theo nhiều điều kiện phức tạp (AND, OR, LIKE)
- Tổng hợp doanh thu theo nhóm sản phẩm, theo tháng, theo nhân viên
- Trích xuất top N kết quả với điều kiện sắp xếp
- Tạo dashboard động cập nhật theo input của người xem
- Hợp nhất dữ liệu từ nhiều sheet kết hợp với IMPORTRANGE
2. Cú Pháp Chi Tiết
Tham số:
data— Vùng dữ liệu nguồn (ví dụ A1:E1000) hoặc mảng động (ARRAY).query— Chuỗi câu lệnh SQL-like, đặt trong dấu nháy kép. Hỗ trợ 10 mệnh đề: SELECT, WHERE, GROUP BY, PIVOT, ORDER BY, LIMIT, OFFSET, LABEL, FORMAT, OPTIONS.headers— Số dòng tiêu đề (mặc định -1 = tự nhận diện). Đặt 1 để chỉ định 1 dòng tiêu đề.
Lưu ý quan trọng: Khi tham chiếu vùng A1:E1000, các cột được gọi là A, B, C, D, E. Khi tham chiếu mảng động (ví dụ kết quả của ARRAYFORMULA hoặc IMPORTRANGE), bạn phải dùng Col1, Col2, Col3...
3. 10 Ví Dụ Cơ Bản
Ví dụ 1: SELECT toàn bộ dữ liệu
Sao chép toàn bộ dữ liệu sang vị trí khác — hữu ích khi cần "snapshot" dữ liệu mà vẫn liên kết động.
Ví dụ 2: SELECT cột cụ thể
Chọn ra 3 cột tên, ngày, doanh thu — bỏ qua cột không cần thiết.
Ví dụ 3: Lọc theo WHERE
Chỉ hiển thị các dòng có doanh thu (cột C) trên 1 triệu.
Ví dụ 4: Lọc theo text với điều kiện AND
Kết hợp nhiều điều kiện. Chú ý: text phải đặt trong nháy đơn.
Ví dụ 5: Sắp xếp với ORDER BY
Top 10 doanh thu cao nhất — phổ biến trong báo cáo bán hàng.
Ví dụ 6: Đếm với COUNT
Đếm số đơn hàng phát sinh ở TP.HCM.
Ví dụ 7: Tổng với SUM và GROUP BY
Tổng doanh thu theo từng thành phố — báo cáo nhanh không cần Pivot Table.
Ví dụ 8: Tìm gần đúng với LIKE
Tìm tất cả khách hàng có "Nguyễn" trong tên. Dấu % là wildcard.
Ví dụ 9: Lọc theo ngày tháng
Lọc dữ liệu quý 1/2026. Ngày luôn dùng format ISO YYYY-MM-DD.
Ví dụ 10: Đặt nhãn cột với LABEL
Đặt tên tiếng Việt cho cột kết quả — báo cáo trông chuyên nghiệp.
4. 10 Ví Dụ Nâng Cao
Ví dụ 11: PIVOT — Xoay bảng động
Tạo bảng chéo: hàng là thành phố, cột là tháng, ô là tổng doanh thu. Pivot Table thực thụ trong một dòng công thức.
Ví dụ 12: Tham chiếu ô động
Báo cáo động — người dùng nhập thành phố vào G1, ngưỡng doanh thu vào H1, kết quả tự cập nhật.
Ví dụ 13: Kết hợp với IMPORTRANGE
Truy vấn dữ liệu từ file Google Sheets khác. Lưu ý dùng Col1, Col2 thay vì A, B vì input là mảng.
Ví dụ 14: NOT NULL — Bỏ dòng trống
Bỏ qua các dòng trống — hữu ích khi range A1:E1000 lớn hơn dữ liệu thực tế.
Ví dụ 15: OFFSET — Phân trang
Lấy dòng 11-20 — phân trang kết quả trên dashboard.
Ví dụ 16: Định dạng cột FORMAT
Định dạng tiền tệ Việt Nam đồng ngay trong công thức QUERY.
Ví dụ 17: Trung bình AVG, lớn nhất MAX
Thống kê đầy đủ: doanh thu trung bình, cao nhất, thấp nhất theo từng thành phố.
Ví dụ 18: Trích xuất theo năm, tháng, ngày
Báo cáo doanh thu theo từng tháng, từng năm. MONTH(D)+1 vì JavaScript đếm tháng từ 0.
Ví dụ 19: Kết hợp với ARRAYFORMULA
Tính cột mới (giá tăng 10%) và truy vấn cùng lúc.
Ví dụ 20: WHERE với danh sách MATCHES
Lọc theo nhiều giá trị dùng RegEx — gọn hơn rất nhiều so với chuỗi OR.
5. Kết Hợp QUERY Với Hàm Khác
Sức mạnh thực sự của QUERY thể hiện khi kết hợp với các hàm khác của Google Sheets:
- QUERY + IMPORTRANGE: Hợp nhất báo cáo từ 5-10 file riêng — phù hợp doanh nghiệp đa chi nhánh.
- QUERY + ARRAYFORMULA: Tạo cột tính toán động trong input cho QUERY.
- QUERY + IFERROR: Xử lý lỗi khi truy vấn không trả về kết quả — tránh #N/A hiển thị xấu trên dashboard.
- QUERY + UNIQUE: Lấy danh sách giá trị duy nhất cho dropdown filter.
- QUERY lồng QUERY: Truy vấn nhiều bước, mỗi bước xử lý một logic.
Triển khai báo cáo thực tế cho doanh nghiệp của bạn
Đội ngũ SheetStore giúp setup dashboard quản lý bán hàng, kho, nhân sự trên Google Sheets — bắt đầu chỉ từ 699.000đ/tháng.
Đăng Ký Demo Miễn Phí6. Các Lỗi Thường Gặp
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| #VALUE! | Cú pháp query sai, thiếu dấu cách, dấu nháy không khớp | Kiểm tra dấu nháy đơn/đôi; nháy đôi bao quanh query, nháy đơn cho giá trị text bên trong |
| #N/A — Empty output | WHERE không khớp dòng nào | Bọc IFERROR(QUERY(...), "Không có dữ liệu") |
| "Column ID 'A' không tồn tại" | Dùng A,B,C cho input là mảng động | Đổi sang Col1, Col2, Col3 |
| Kết quả thiếu dòng | Cột trộn lẫn số và text → QUERY auto-detect kiểu dữ liệu sai | Đồng nhất kiểu dữ liệu cột; hoặc thêm options no_format |
| "Cannot use GROUP BY without aggregation" | SELECT cột không có hàm tổng hợp khi dùng GROUP BY | Mọi cột SELECT phải hoặc nằm trong GROUP BY, hoặc dùng SUM/AVG/COUNT/MAX/MIN |
7. Mẹo Tối Ưu Hiệu Năng
- Giới hạn range: Dùng A1:E1000 thay vì A:E nếu dữ liệu chỉ 1000 dòng — tăng tốc 3-5 lần.
- Tránh QUERY lồng IMPORTRANGE nhiều lớp: Mỗi lớp IMPORTRANGE đều gọi API ngoài; nên cache kết quả vào sheet trung gian.
- Dùng LIMIT khi preview: LIMIT 10 trong lúc viết công thức, bỏ ra khi xong.
- Tận dụng OFFSET cho phân trang: Thay vì hiển thị 10000 dòng, hiển thị 50 dòng/trang.
- Đặt query trong ô riêng: Lưu chuỗi câu lệnh trong G1, dùng
=QUERY(A:E, G1)— dễ chỉnh sửa và test.
8. Câu Hỏi Thường Gặp
Hàm QUERY có khác gì SQL chuẩn?
Giống ở SELECT, WHERE, GROUP BY, ORDER BY. Khác: không có JOIN giữa 2 sheet (phải tự nối bằng VLOOKUP hoặc QUERY lồng); không có UNION (dùng dấu chấm phẩy giữa các mảng); không có subquery thực sự (mô phỏng bằng QUERY của QUERY).
QUERY có chạy chậm khi dữ liệu lớn không?
Google Sheets hoạt động tốt đến ~50.000 dòng. Trên ngưỡng này, nên cân nhắc tách dữ liệu thành nhiều sheet theo tháng/năm, hoặc chuyển sang BigQuery + Connected Sheets cho dữ liệu hàng triệu dòng.
Có thể dùng QUERY trên ứng dụng di động?
Có — Google Sheets app trên iOS/Android render đầy đủ kết quả QUERY. Tuy nhiên việc gõ chuỗi query dài trên mobile bất tiện; nên thiết kế công thức trên máy tính, mobile chỉ để xem kết quả.
QUERY có hỗ trợ tiếng Việt có dấu không?
Hỗ trợ đầy đủ Unicode. WHERE B = 'Đà Nẵng' hoạt động bình thường. Chú ý copy đúng kiểu chữ — chữ "đ" và "d" là khác nhau hoàn toàn.
Tôi nên học QUERY hay Pivot Table trước?
Pivot Table dễ học hơn với người mới. Nhưng nếu bạn làm báo cáo định kỳ, đầu tư học QUERY trong 1-2 tuần sẽ tiết kiệm hàng chục giờ mỗi tháng vì QUERY tự cập nhật khi dữ liệu thay đổi.
Bài viết liên quan:
📚 Bài Viết Liên Quan
- Template Google Sheets Báo Cáo Bán Hàng Theo Vùng và Đại Lý 2027: Phân Tích Đa Chiều
- Template Google Sheets Quan Ly Chien Dich Email Marketing 2027: Theo Doi Open Rate va Conversion
- Google Sheets Nâng Cao Bài 5: Apps Script - Tự Động Hóa Với JavaScript
- Mẫu Báo Cáo Bán Hàng Google Sheets 2026: 5 Template Chuẩn Cho SME
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
Google Workspace Certified, 5+ years experience
Bạn thấy bài viết hữu ích?
Đăng ký nhận thông báo khi có bài viết mới.

