Google Sheets Nâng Cao

QUERY Trong Google Sheets: Hướng Dẫn Toàn Diện Từ A-Z

Tuân HoangTuân Hoang
3 tháng 3, 2026
Cập nhật: 24 tháng 3, 2026
14 phút đọc
QUERY Trong Google Sheets: Hướng Dẫn Toàn Diện Từ A-Z

Hàm QUERY trong Google Sheets — công cụ phân tích dữ liệu mạnh nhất, cho phép bạn truy vấn như SQL mà không cần biết lập trình.

Từ SELECT cơ bản đến GROUP BY, WHERE phức tạp, PIVOT và kết hợp với IMPORTRANGE — bài viết này là hướng dẫn toàn diện nhất tiếng Việt về hàm QUERY Google Sheets.

1. Hàm QUERY Là Gì Và Tại Sao Cần Học?

QUERY là một trong những hàm độc đáo nhất của Google Sheets — cho phép bạn truy vấn dữ liệu trong spreadsheet bằng ngôn ngữ tương tự SQL (Google Visualization Query Language). Điều đặc biệt: bạn không cần biết lập trình hay SQL để sử dụng QUERY hiệu quả.

Với QUERY, bạn có thể:

  • Lọc dữ liệu theo nhiều điều kiện phức tạp
  • Tổng hợp (aggregate) — đếm, tính tổng, trung bình theo nhóm
  • Sắp xếp và giới hạn số lượng kết quả
  • Xoay (PIVOT) dữ liệu từ hàng thành cột
  • Kết hợp với IMPORTRANGE để truy vấn dữ liệu từ nhiều file

So sánh: Nếu SUMIFS chỉ tính tổng theo điều kiện, QUERY làm được mọi thứ SUMIFS làm — cộng thêm GROUP BY, PIVOT, nhiều cột kết quả, và nhiều hơn nữa.

2. Cú Pháp Và Cấu Trúc Cơ Bản

=QUERY(data, query, [headers])
  • data: Vùng dữ liệu nguồn (ví dụ: A1:F100, hoặc kết quả IMPORTRANGE)
  • query: Chuỗi truy vấn (đặt trong dấu ngoặc kép)
  • headers: Số hàng tiêu đề (thường là 1, bỏ qua nếu không có tiêu đề)
// Ví dụ đơn giản nhất — lấy toàn bộ dữ liệu
=QUERY(A1:F100, "SELECT *", 1)

// Chỉ lấy cột A và C
=QUERY(A1:F100, "SELECT A, C", 1)

Lưu ý về tên cột

Trong QUERY, cột được gọi theo chữ cái: A = cột đầu tiên, B = cột thứ hai... Không phụ thuộc vào tên tiêu đề. Nếu dữ liệu bắt đầu từ cột C, thì cột C = Col1.

3. Mệnh Đề SELECT — Chọn Cột Cần Hiển Thị

// Chọn nhiều cột
=QUERY(A1:E100, "SELECT A, B, E", 1)

// Đổi tên cột (label)
=QUERY(A1:E100, "SELECT A, B, E LABEL A 'Tên KH', B 'Mã SP', E 'Doanh Thu'", 1)

// Tính toán trong SELECT
=QUERY(A1:E100, "SELECT A, B*C, (B*C)*0.1 LABEL B*C 'Thành tiền', (B*C)*0.1 'VAT'", 1)

4. Mệnh Đề WHERE — Lọc Dữ Liệu

WHERE là mệnh đề bạn sẽ dùng nhiều nhất. Hỗ trợ các toán tử: =, !=, <, >, <=, >=, contains, starts with, ends with, matches, is null, is not null.

// Lọc theo giá trị cụ thể
=QUERY(A1:E100, "SELECT * WHERE B = 'Hà Nội'", 1)

// Lọc số
=QUERY(A1:E100, "SELECT * WHERE E > 1000000", 1)

// Nhiều điều kiện (AND / OR)
=QUERY(A1:E100, "SELECT * WHERE B = 'Hà Nội' AND E > 500000", 1)
=QUERY(A1:E100, "SELECT * WHERE B = 'HN' OR B = 'HCM'", 1)

// Lọc text chứa từ khóa
=QUERY(A1:E100, "SELECT * WHERE A contains 'điện thoại'", 1)

// Lọc theo ngày
=QUERY(A1:E100, "SELECT * WHERE C >= date '2026-01-01'", 1)

// Dùng giá trị từ ô khác trong WHERE
=QUERY(A1:E100, "SELECT * WHERE B = '"&G1&"'", 1)

Mẹo: Lọc động theo ô

Dùng ký tự & để nối chuỗi với giá trị ô: "SELECT * WHERE B = '"&G1&"'" — khi thay đổi giá trị ở G1, kết quả QUERY tự động cập nhật. Rất hữu ích cho dashboard có bộ lọc.

5. GROUP BY Và Hàm Tổng Hợp

GROUP BY nhóm dữ liệu và tính toán tổng hợp — tương đương Pivot Table nhưng bằng công thức:

// Tổng doanh thu theo khu vực
=QUERY(A1:E100, "SELECT B, SUM(E) GROUP BY B", 1)

// Nhiều hàm tổng hợp cùng lúc
=QUERY(A1:E100, "SELECT B, COUNT(A), SUM(E), AVG(E), MAX(E), MIN(E) GROUP BY B", 1)

// Group theo 2 cột
=QUERY(A1:E100, "SELECT B, C, SUM(E) GROUP BY B, C", 1)

// Kết hợp WHERE + GROUP BY
=QUERY(A1:E100, "SELECT B, SUM(E) WHERE C = 'Điện thoại' GROUP BY B ORDER BY SUM(E) DESC", 1)
Hàm tổng hợp Ý nghĩa Ví dụ
SUM(E)Tổng cộngTổng doanh thu
COUNT(A)Đếm số lượngSố đơn hàng
AVG(E)Trung bìnhGiá trị đơn TB
MAX(E)Giá trị lớn nhấtĐơn lớn nhất
MIN(E)Giá trị nhỏ nhấtĐơn nhỏ nhất

6. ORDER BY, LIMIT, OFFSET

// Sắp xếp tăng dần
=QUERY(A1:E100, "SELECT * ORDER BY E ASC", 1)

// Sắp xếp giảm dần — lấy Top 10
=QUERY(A1:E100, "SELECT * ORDER BY E DESC LIMIT 10", 1)

// Bỏ qua 10 dòng đầu (phân trang)
=QUERY(A1:E100, "SELECT * ORDER BY E DESC LIMIT 10 OFFSET 10", 1)

7. PIVOT — Xoay Dữ Liệu Từ Hàng Thành Cột

PIVOT biến các giá trị trong một cột thành tiêu đề cột — tương tự Pivot Table trong Excel nhưng tự động cập nhật:

// Doanh thu theo tháng cho từng khu vực
=QUERY(A1:E100,
  "SELECT B, SUM(E)
  WHERE A IS NOT NULL
  GROUP BY B
  PIVOT C",
1)

Kết quả: mỗi giá trị trong cột C (ví dụ: Tháng 1, Tháng 2...) trở thành một cột riêng — tạo bảng crosstab hoàn hảo cho báo cáo.

8. Kết Hợp QUERY Với IMPORTRANGE

Đây là combo mạnh nhất — truy vấn dữ liệu từ file Google Sheets khác mà không cần copy:

=QUERY(
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/FILE_ID", "DonHang!A:F"),
  "SELECT Col2, SUM(Col6) WHERE Col3 = 'Hoàn thành' GROUP BY Col2 ORDER BY SUM(Col6) DESC",
  1
)

Lưu ý quan trọng

Khi dùng IMPORTRANGE làm nguồn dữ liệu cho QUERY, cột phải gọi là Col1, Col2, Col3... (không phải A, B, C) vì IMPORTRANGE trả về mảng không có tên cột chữ cái.

9. Case Study Thực Tế

Case 1: Dashboard Báo Cáo Bán Hàng

// Sheet "BaoCao" — kéo từ sheet "DonHang" trong cùng file
=QUERY(DonHang!A:G,
  "SELECT D, COUNT(A), SUM(F), SUM(F)/COUNT(A)
  WHERE B >= date '2026-01-01' AND E = 'Hoàn thành'
  GROUP BY D
  ORDER BY SUM(F) DESC
  LABEL D 'Nhân Viên', COUNT(A) 'Số Đơn', SUM(F) 'Doanh Thu', SUM(F)/COUNT(A) 'Giá Trị TB'",
1)

Case 2: Báo Cáo Tồn Kho Động

// Lọc sản phẩm tồn kho dưới mức tối thiểu
=QUERY(TonKho!A:E,
  "SELECT A, B, C, D, E
  WHERE C - D < E
  ORDER BY C - D ASC
  LABEL A 'Mã SP', B 'Tên SP', C 'Nhập', D 'Xuất', E 'Tồn Min'",
1)

Template Quản Lý Bán Hàng Google Sheets

Tại SheetStore.vn, chúng tôi có các template sẵn sàng với hàm QUERY đã được cấu hình để báo cáo tự động — không cần tự xây dựng từ đầu.

Xem Template Ngay →

10. FAQ — Câu Hỏi Thường Gặp

QUERY có miễn phí không?

Có — QUERY là hàm tích hợp sẵn, hoàn toàn miễn phí trong mọi tài khoản Google.

QUERY có nhanh hơn SUMIFS không?

QUERY thường nhanh hơn khi GROUP BY nhiều cột và tính nhiều chỉ số cùng lúc. SUMIFS nhanh hơn cho phép tính đơn giản một ô.

Tại sao QUERY báo lỗi #VALUE?

Nguyên nhân phổ biến: (1) Cột hỗn hợp text+số, (2) Dùng A,B thay vì Col1,Col2 với IMPORTRANGE, (3) Sai cú pháp khi lọc ngày tháng.

Bài Tiếp Theo: Tạo Dashboard Google Sheets

Đã biết QUERY, hãy áp dụng để xây dựng Dashboard báo cáo chuyên nghiệp với biểu đồ và KPI tự động cập nhật.

Đọc bài: Tạo Dashboard Google Sheets →

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

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.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận