Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Chia sẻ cách dùng QUERY để tạo báo cáo động cực đỉnh trong Google Sheets

Lạc Hùng Yến 23/03/2026 04:40 488 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình có mày mò và phát hiện ra một hàm rất mạnh mẽ trong Google Sheets mà có lẽ nhiều bạn chưa khai thác hết, đó là hàm QUERY. Hàm này cho phép chúng ta truy vấn dữ liệu giống như SQL, giúp tạo ra các báo cáo động, tổng hợp dữ liệu theo nhiều điều kiện một cách cực kỳ linh hoạt.

Trước đây, để lọc và tổng hợp dữ liệu theo nhiều tiêu chí, mình thường phải kết hợp FILTER, SUMIFS, COUNTIFS... khá lằng nhằng. Nhưng từ khi biết đến QUERY, mọi thứ trở nên đơn giản hơn rất nhiều.

Ví dụ đơn giản:

Giả sử bạn có một bảng dữ liệu bán hàng với các cột: Ngày, Sản phẩm, Số lượng, Doanh thu. Bạn muốn lấy tổng doanh thu của sản phẩm 'A' trong tháng 1.

Với QUERY, bạn chỉ cần viết một công thức duy nhất:

=QUERY(A1:D100, "SELECT SUM(D) WHERE B = 'A' AND MONTH(A) = 0 LABEL SUM(D) ''", 1)

Trong đó:

  • A1:D100 là vùng dữ liệu của bạn.
  • "SELECT SUM(D) WHERE B = 'A' AND MONTH(A) = 0 LABEL SUM(D) ''" là câu lệnh truy vấn:
    • SELECT SUM(D): Tính tổng cột D (Doanh thu).
    • WHERE B = 'A': Điều kiện là cột B (Sản phẩm) bằng 'A'.
    • AND MONTH(A) = 0: Điều kiện là tháng của cột A (Ngày) là tháng 1 (tháng trong QUERY bắt đầu từ 0).
    • LABEL SUM(D) '': Loại bỏ tiêu đề mặc định của cột tổng.
  • 1: Số hàng tiêu đề trong vùng dữ liệu.

Ngoài ra, QUERY còn có thể làm được rất nhiều thứ khác như lọc dữ liệu, đếm, tính trung bình, sắp xếp, nhóm theo nhiều điều kiện... Nó thực sự là một công cụ mạnh mẽ để xử lý và phân tích dữ liệu trên Google Sheets.

Các bạn đã từng dùng hàm QUERY chưa? Có mẹo hay kinh nghiệm nào muốn chia sẻ không? Cùng thảo luận nhé!

1

Đúng là QUERY "đỉnh" thật bạn nhỉ! Mình cũng thích cái khả năng xử lý dữ liệu linh hoạt của nó. Trước giờ cứ nghĩ nó phức tạp lắm, ai dè làm quen rồi thì mê luôn.

Về ví dụ bạn hỏi, để lấy tổng doanh thu theo khu vực và sản phẩm, loại bỏ trùng lặp, mình nghĩ có thể dùng GROUP BY kết hợp với SUM. Kiểu như thế này:

=QUERY(A1:C100, "SELECT B, C, SUM(A) WHERE B IS NOT NULL GROUP BY B, C LABEL SUM(A) 'Tổng Doanh Thu'")

Trong đó:

  • A1:C100 là vùng dữ liệu của bạn (cột Doanh thu, Khu vực, Sản phẩm).
  • B là cột Khu vực, C là cột Sản phẩm, A là cột Doanh thu.
  • SUM(A) sẽ tính tổng doanh thu.
  • GROUP BY B, C sẽ nhóm theo Khu vực và Sản phẩm.
  • LABEL SUM(A) 'Tổng Doanh Thu' để đặt tên cho cột tổng doanh thu.

Bạn thử xem sao nhé! Nếu có trường hợp nào khác cứ chia sẻ tiếp, mình cùng thảo luận cho vui.

2

Chào bạn,

Cảm ơn bạn đã chia sẻ về hàm QUERY! Mình cũng đang tìm hiểu sâu hơn về hàm này và thấy nó thực sự "đỉnh" như bạn nói. Trước đây mình cũng hay kết hợp nhiều hàm để lọc và tổng hợp, giờ biết đến QUERY thấy nhẹ nhàng hẳn.

Không biết bạn có thể chia sẻ thêm một vài ví dụ thực tế về cách dùng QUERY để tổng hợp dữ liệu theo nhiều điều kiện phức tạp không? Ví dụ như, làm sao để dùng QUERY lấy ra tổng doanh thu theo từng khu vực VÀ theo từng sản phẩm, đồng thời loại bỏ các dòng trùng lặp ạ?

Mình hóng kinh nghiệm của bạn!

3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký