Hàm Google Sheets Nâng Cao 2026: Làm Chủ QUERY, ARRAYFORMULA, IMPORTRANGE & LAMBDA
Làm chủ 5 nhóm hàm Google Sheets nâng cao — biến bảng tính thường thành hệ thống quản lý dữ liệu thực thụ.
Bài viết hướng dẫn chi tiết QUERY, ARRAYFORMULA, IMPORTRANGE, LAMBDA và các hàm mảng động kèm ví dụ thực tế cho dân kinh doanh, kế toán và chủ shop muốn tự động hóa báo cáo.
Mục lục:
1. Vì Sao Cần Học Hàm Google Sheets Nâng Cao?
Phần lớn người dùng Google Sheets chỉ dừng lại ở SUM, AVERAGE, IF và VLOOKUP. Những hàm này đủ cho công việc đơn giản, nhưng khi dữ liệu phình to — hàng nghìn đơn hàng, nhiều chi nhánh, báo cáo theo ngày — bạn sẽ gặp ngay 3 vấn đề: file chạy chậm, công thức rối rắm lồng nhau, và mỗi lần thêm dòng lại phải kéo công thức thủ công.
Các hàm nâng cao như QUERY, ARRAYFORMULA, IMPORTRANGE và LAMBDA giải quyết triệt để những vấn đề đó. Khi làm chủ chúng, bạn có thể tự xây hệ thống quản lý bán hàng, kho, công nợ ngay trên Google Sheets mà không cần lập trình. Đây cũng chính là nền tảng kỹ thuật đứng sau các giải pháp như quản lý bán hàng bằng Google Sheets.
Ai nên đọc bài này? Chủ shop, nhân viên kinh doanh, kế toán, quản lý kho — những người muốn tự động hóa báo cáo mà không phụ thuộc IT hay phần mềm đắt tiền.
2. QUERY — Truy Vấn Dữ Liệu Kiểu SQL Ngay Trong Bảng Tính
QUERY là hàm mạnh nhất Google Sheets. Nó cho phép bạn dùng cú pháp gần giống SQL để lọc, nhóm, sắp xếp và tổng hợp dữ liệu — thay thế cả chục công thức lồng nhau bằng một dòng duy nhất.
Cú pháp cơ bản:
=QUERY(dữ_liệu; "câu_truy_vấn"; [số_dòng_tiêu_đề])
Ví dụ 1 — Lọc đơn hàng trên 1 triệu đồng:
=QUERY(A1:E1000; "SELECT A, B, E WHERE E > 1000000 ORDER BY E DESC")
Ví dụ 2 — Tính tổng doanh thu theo nhân viên:
=QUERY(A1:E1000; "SELECT B, SUM(E) WHERE A IS NOT NULL GROUP BY B ORDER BY SUM(E) DESC LABEL SUM(E) 'Doanh thu'")
Chỉ với một công thức, bạn đã có báo cáo doanh thu xếp hạng theo từng nhân viên. Một số mệnh đề QUERY hay dùng:
- SELECT: chọn cột cần lấy (dùng chữ cái cột A, B, C...)
- WHERE: lọc điều kiện (>, <, =, CONTAINS, IS NOT NULL)
- GROUP BY: nhóm dữ liệu để tính SUM, COUNT, AVG, MAX, MIN
- ORDER BY: sắp xếp tăng/giảm dần
- PIVOT: xoay dữ liệu thành bảng chéo (cực mạnh để làm báo cáo)
- LABEL: đổi tên cột kết quả cho dễ đọc
Mẹo: Dùng WHERE Col1 = '"&F1&"' để biến QUERY thành báo cáo tương tác — chỉ cần thay giá trị ở ô F1 là bảng tự lọc lại theo điều kiện mới.
3. ARRAYFORMULA — Tính Cả Cột Chỉ Trong Một Ô
ARRAYFORMULA giúp áp dụng một công thức cho toàn bộ cột mà không cần kéo tay từng dòng. Đây là chìa khóa để xây file Google Sheets "tự chạy": thêm dòng mới, công thức tự động tính.
Cách làm thông thường (kéo tay): ô C2 viết =A2*B2 rồi kéo xuống 1000 dòng — file nặng, dễ sót dòng.
Cách dùng ARRAYFORMULA (1 ô duy nhất):
=ARRAYFORMULA(IF(A2:A="";"";A2:A*B2:B))
Công thức trên đặt ở ô C2 sẽ tự tính thành tiền cho mọi dòng có dữ liệu, và bỏ trống những dòng chưa nhập. Kết hợp ARRAYFORMULA với các hàm khác mở ra rất nhiều khả năng:
=ARRAYFORMULA(TEXT(A2:A;"dd/mm/yyyy"))— định dạng ngày cho cả cột=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A;Kho!A:C;3;0);"Chưa có"))— tra cứu hàng loạt=ARRAYFORMULA(ROW(A2:A)-1)— tự động đánh số thứ tự
Nhờ ARRAYFORMULA, một file quản lý bán hàng có thể nhập liệu liên tục mà công thức không bao giờ "đứt". Đây là lý do các template như mẫu file quản lý bán hàng miễn phí luôn ưu tiên dùng hàm mảng.
4. IMPORTRANGE — Gộp Dữ Liệu Từ Nhiều File
Khi doanh nghiệp có nhiều chi nhánh, mỗi nơi nhập liệu vào một file riêng. IMPORTRANGE giúp kéo dữ liệu từ các file đó về một file tổng để làm báo cáo chung.
=IMPORTRANGE("link_file_nguồn"; "Sheet1!A1:E1000")
Lần đầu dùng, bạn cần bấm "Cho phép truy cập" (Allow access) để cấp quyền liên kết hai file. Sức mạnh thực sự đến khi kết hợp IMPORTRANGE với QUERY:
=QUERY(IMPORTRANGE("link_file"; "Sheet1!A:E"); "SELECT Col2, SUM(Col5) GROUP BY Col2")
Công thức này vừa kéo dữ liệu từ file chi nhánh, vừa tổng hợp doanh thu theo nhân viên — tất cả tự động. Lưu ý khi dùng IMPORTRANGE trong QUERY phải gọi cột bằng Col1, Col2... thay vì A, B....
Cảnh báo hiệu năng: IMPORTRANGE nhiều file lớn sẽ làm file tổng chậm dần. Khi vượt 5-10 file nguồn hoặc vài chục nghìn dòng, nên cân nhắc nền tảng chuyên dụng để giữ tốc độ ổn định.
5. LAMBDA & Các Hàm Mảng Động Mới
Google Sheets đã bổ sung nhóm hàm hiện đại giúp xử lý dữ liệu gọn gàng hơn nhiều. Đáng chú ý nhất:
- LAMBDA: tạo hàm tùy chỉnh của riêng bạn, tái sử dụng logic phức tạp
- MAP / REDUCE / SCAN: lặp qua mảng dữ liệu để biến đổi hoặc tính tích lũy
- XLOOKUP: thay thế VLOOKUP, tra cứu hai chiều, mạnh và linh hoạt hơn
- FILTER: lọc dữ liệu động, tự giãn nở theo kết quả
- LET: đặt tên biến trong công thức, giúp công thức dài dễ đọc và chạy nhanh hơn
Ví dụ XLOOKUP tra giá sản phẩm:
=XLOOKUP(A2; Kho!A:A; Kho!C:C; "Không tìm thấy")
Ví dụ LAMBDA tính giá đã gồm thuế VAT 10%:
=MAP(E2:E100; LAMBDA(gia; gia*1.1))
Những hàm này giúp bảng tính của bạn tiệm cận sức mạnh của một công cụ phân tích dữ liệu chuyên nghiệp mà vẫn miễn phí.
6. Ứng Dụng Thực Tế: Dashboard Bán Hàng Tự Động
Hãy ghép các hàm trên thành một hệ thống hoàn chỉnh. Giả sử bạn có file "Đơn hàng" với các cột: Ngày, Nhân viên, Sản phẩm, Số lượng, Thành tiền.
Bước 1: Gom dữ liệu
Dùng IMPORTRANGE kéo đơn hàng từ các file chi nhánh về sheet trung tâm.
Bước 2: Tổng hợp
Dùng QUERY tính doanh thu theo ngày, theo nhân viên, theo sản phẩm bán chạy.
Bước 3: Trực quan hóa
Vẽ biểu đồ liên kết vùng QUERY — dashboard tự cập nhật khi dữ liệu thay đổi.
Công thức cốt lõi cho dashboard doanh thu theo ngày:
=QUERY('Đơn hàng'!A:E; "SELECT A, SUM(E) WHERE A IS NOT NULL GROUP BY A ORDER BY A DESC LABEL SUM(E) 'Doanh thu ngày'")
Với mô hình này, chủ doanh nghiệp chỉ cần mở điện thoại là thấy ngay tình hình kinh doanh thời gian thực. Tuy nhiên khi quy mô lớn và cần phân quyền, nhập liệu nhiều người cùng lúc, bạn nên tham khảo phần mềm quản lý bán hàng cho cửa hàng nhỏ được xây sẵn trên nền Google Sheets.
Không Muốn Tự Dựng Công Thức?
SheetStore đóng gói sẵn QUERY, ARRAYFORMULA, dashboard realtime — chỉ việc nhập liệu là chạy.
Trải Nghiệm Demo Miễn Phí7. Tối Ưu Tốc Độ & Tránh Lỗi Thường Gặp
Hàm nâng cao mạnh nhưng dùng sai sẽ khiến file ì ạch. Một số nguyên tắc giữ Google Sheets luôn nhanh:
- Hạn chế hàm volatile (NOW, TODAY, RAND, OFFSET, INDIRECT) — chúng tính lại liên tục, làm file chậm
- Giới hạn vùng dữ liệu: dùng
A2:E5000thay vìA:Enếu biết rõ số dòng - Gộp công thức bằng ARRAYFORMULA thay vì kéo hàng nghìn ô riêng lẻ
- Tách dữ liệu thô và báo cáo ra các sheet khác nhau để dễ quản lý
- Dùng IFERROR bọc QUERY/IMPORTRANGE để tránh lỗi #REF, #N/A làm vỡ dashboard
Lỗi #REF! với IMPORTRANGE? Thường do chưa cấp quyền truy cập file nguồn. Bấm vào ô lỗi và chọn "Allow access". Nếu vẫn lỗi, kiểm tra lại đường link và tên sheet.
Khi file Google Sheets bắt đầu chậm dù đã tối ưu, đó là tín hiệu bạn nên nâng cấp lên nền tảng quản lý chuyên dụng. Tham khảo thêm ưu nhược điểm quản lý bằng Excel/Google Sheets để biết khi nào nên chuyển đổi.
8. Câu Hỏi Thường Gặp
Hàm QUERY trong Google Sheets dùng để làm gì?
QUERY cho phép truy vấn dữ liệu bằng cú pháp giống SQL ngay trong bảng tính — lọc, nhóm, sắp xếp, tính tổng chỉ với một công thức, thay cho nhiều hàm lồng nhau phức tạp.
IMPORTRANGE và VLOOKUP khác nhau như thế nào?
IMPORTRANGE kéo dữ liệu từ file Google Sheets khác sang file hiện tại; VLOOKUP tra cứu giá trị trong cùng một bảng. Kết hợp cả hai giúp tổng hợp dữ liệu nhiều chi nhánh về một dashboard.
Tại sao nên dùng ARRAYFORMULA thay vì kéo công thức?
ARRAYFORMULA áp dụng một công thức cho cả cột trong một ô. Thêm dòng mới là công thức tự chạy, file nhẹ hơn, ít lỗi hơn, dễ bảo trì hơn so với sao chép xuống hàng nghìn dòng.
Google Sheets có xử lý được dữ liệu bán hàng lớn không?
Xử lý tốt vài chục nghìn dòng nếu tối ưu công thức. Với dữ liệu lớn hơn hoặc nhiều người dùng đồng thời, nên dùng nền tảng như SheetStore để giữ tốc độ và ổn định.
Làm sao tạo dashboard tự động cập nhật?
Kết hợp IMPORTRANGE (gom dữ liệu) + QUERY (tổng hợp) + ARRAYFORMULA (cột phái sinh) rồi vẽ biểu đồ liên kết vùng QUERY. Dashboard tự cập nhật khi dữ liệu nguồn thay đổi.
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.
