Google Sheets Nâng Cao: ARRAYFORMULA, QUERY, IMPORTRANGE và Apps Script — Hướng Dẫn Toàn Diện 2026
Google Sheets nâng cao: ARRAYFORMULA, QUERY, IMPORTRANGE và Apps Script — 4 vũ khí biến bảng tính thành hệ thống quản lý thực sự.
Bài viết cung cấp hướng dẫn chi tiết với ví dụ thực tế để bạn làm chủ Google Sheets ở cấp độ chuyên nghiệp — không cần biết lập trình.
Mục lục:
- 1. Tại sao cần học Google Sheets nâng cao?
- 2. ARRAYFORMULA — Hàm nhân bản công thức tự động
- 3. QUERY — SQL trong Google Sheets
- 4. IMPORTRANGE — Kết nối dữ liệu giữa các file
- 5. INDEX + MATCH — Thay thế VLOOKUP chuyên nghiệp
- 6. Google Apps Script — Tự động hóa hoàn toàn
- 7. Ứng dụng thực tế cho doanh nghiệp
- 8. FAQ
1. Tại Sao Cần Học Google Sheets Nâng Cao?
Hầu hết người dùng Google Sheets chỉ dùng ở mức cơ bản: nhập liệu, SUM, AVERAGE, vài hàm IF đơn giản. Nhưng Google Sheets thực ra mạnh hơn rất nhiều — đủ sức xây dựng hệ thống quản lý bán hàng, theo dõi dự án, phân tích tài chính cho doanh nghiệp vừa và nhỏ.
Theo khảo sát Google Workspace 2025, 78% doanh nghiệp SMB Việt Nam dùng Google Sheets hàng ngày nhưng chỉ 12% sử dụng tính năng nâng cao như QUERY, ARRAYFORMULA hay Apps Script. Đây là khoảng cách lớn giữa công cụ đang có và giá trị có thể khai thác.
Những gì bạn sẽ làm được sau khi đọc bài này:
- Viết công thức chạy tự động cho toàn bộ cột — không copy/paste thủ công
- Lọc và tổng hợp dữ liệu bằng QUERY như một database thực thụ
- Kết nối nhiều file Google Sheets với nhau bằng IMPORTRANGE
- Dùng INDEX+MATCH thay VLOOKUP để tra cứu dữ liệu chính xác hơn
- Tự động hóa quy trình bằng Apps Script — không cần lập trình viên
Thời gian học ước tính: 3–5 giờ để nắm chắc 4 kỹ năng cốt lõi. ROI: tiết kiệm 5–10 giờ/tuần cho các tác vụ lặp lại.
2. ARRAYFORMULA — Hàm Nhân Bản Công Thức Tự Động
ARRAYFORMULA là một trong những hàm quan trọng nhất khi học Google Sheets nâng cao. Thay vì phải copy công thức xuống hàng nghìn dòng, bạn chỉ cần viết một lần ở dòng đầu tiên.
2.1 Cú Pháp Cơ Bản
# Không dùng ARRAYFORMULA (phải copy xuống từng dòng):
=A2*B2 / =A3*B3 / =A4*B4 ...
# Dùng ARRAYFORMULA (chỉ cần 1 công thức):
=ARRAYFORMULA(A2:A*B2:B)
2.2 Ví Dụ Thực Tế: Tính Thành Tiền Đơn Hàng
Bạn có bảng đơn hàng với cột Số Lượng (cột B) và Đơn Giá (cột C). Để tính Thành Tiền tự động cho tất cả hàng:
# Tính thành tiền tự động (D2):
=ARRAYFORMULA(IF(B2:B="","",B2:B*C2:C))
# Tính tổng theo danh mục tự động:
=ARRAYFORMULA(SUMIF(E2:E,G2:G,D2:D))
Lưu ý quan trọng: Bọc thêm IF(cột="","", ...) để tránh kết quả 0 ở các hàng trống.
2.3 ARRAYFORMULA Kết Hợp Với Text
# Tạo mã đơn hàng tự động: DH-0001, DH-0002...
=ARRAYFORMULA(IF(A2:A="","","DH-"&TEXT(ROW(A2:A)-1,"0000")))
# Ghép họ và tên:
=ARRAYFORMULA(IF(A2:A="","",A2:A&" "&B2:B))
Mẹo chuyên nghiệp:
Đặt ARRAYFORMULA ở hàng đầu tiên (hàng 2, sau header). Google Sheets sẽ tự mở rộng kết quả khi bạn thêm dữ liệu mới — không cần thao tác gì thêm.
3. QUERY — SQL Trong Google Sheets
Hàm QUERY là công cụ mạnh nhất trong bộ Google Sheets nâng cao. Cú pháp dựa trên Google Visualization Query Language — tương tự SQL nhưng đơn giản hơn và không cần cài đặt.
3.1 Cú Pháp QUERY
=QUERY(du_lieu, "cau_truy_van", [hang_header])
# Lọc đơn hàng giá trị trên 1 triệu:
=QUERY(A1:E100,"SELECT A,B,C,D,E WHERE D > 1000000 ORDER BY D DESC",1)
3.2 Các Câu Lệnh QUERY Hay Dùng
| Mục đích | Câu lệnh QUERY |
|---|---|
| Lọc theo điều kiện | SELECT * WHERE C = 'Hà Nội' |
| Tổng doanh thu theo tháng | SELECT B, SUM(D) GROUP BY B |
| Top 10 sản phẩm bán chạy | SELECT A, SUM(C) GROUP BY A ORDER BY SUM(C) DESC LIMIT 10 |
| Lọc theo khoảng ngày | SELECT * WHERE A >= DATE '2026-01-01' |
| Đếm số đơn hàng | SELECT C, COUNT(A) GROUP BY C |
3.3 QUERY Với Biến Động (Dynamic Query)
Kỹ thuật nâng cao: dùng ô tham chiếu trong câu QUERY để tạo filter động — người dùng thay đổi giá trị trong ô, kết quả tự cập nhật:
# Ô H1 chứa tên thành phố, QUERY lọc theo ô H1:
=QUERY(A1:E500,"SELECT * WHERE C = '"&H1&"'",1)
# Lọc theo khoảng giá từ ô I1 đến J1:
=QUERY(A1:E500,"SELECT * WHERE D >= "&I1&" AND D <= "&J1,1)
4. IMPORTRANGE — Kết Nối Dữ Liệu Giữa Các File
Khi dữ liệu nằm ở nhiều file Google Sheets khác nhau — dữ liệu bán hàng một file, dữ liệu kho một file, nhân sự một file — IMPORTRANGE giúp kéo dữ liệu về một nơi để tổng hợp.
4.1 Cú Pháp IMPORTRANGE
=IMPORTRANGE("URL_file_nguon", "TenSheet!A1:E100")
# Ví dụ thực tế:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/ABC123", "DonHang!A:F")
Lưu ý: Lần đầu dùng IMPORTRANGE, Google sẽ hỏi bạn có muốn cho phép truy cập không. Nhấn "Allow access" và công thức sẽ hoạt động từ đó trở đi.
4.2 IMPORTRANGE + QUERY — Combo Siêu Mạnh
# Kéo dữ liệu từ file khác và lọc ngay:
=QUERY(IMPORTRANGE("URL","Sheet1!A:F"),"SELECT * WHERE Col4 > 500000",1)
# Gộp dữ liệu từ 2 file:
={IMPORTRANGE("URL1","Sheet1!A2:D"); IMPORTRANGE("URL2","Sheet1!A2:D")}
Giới hạn IMPORTRANGE cần biết:
- Tối đa 50 kết nối ngoài từ một file
- Dữ liệu refresh mỗi 30 phút hoặc khi mở file
- File nguồn phải được chia sẻ với tài khoản của bạn
- Dữ liệu lớn (>50,000 dòng) có thể chậm — nên dùng QUERY để lọc bớt
5. INDEX + MATCH — Thay Thế VLOOKUP Chuyên Nghiệp
Nếu bạn đang dùng VLOOKUP, đã đến lúc nâng cấp lên INDEX+MATCH. Đây là kỹ năng phân biệt người dùng Google Sheets trung bình và chuyên nghiệp.
VLOOKUP — Hạn chế:
- Chỉ tìm từ trái sang phải
- Lỗi khi thêm/xóa cột (số cột cứng)
- Không tìm được theo nhiều điều kiện
- Chậm với dữ liệu lớn
INDEX+MATCH — Ưu điểm:
- Tìm theo cả hai chiều trái/phải
- Không bị lỗi khi thay đổi cấu trúc
- Kết hợp nhiều điều kiện với MATCH
- Nhanh hơn 20–30% với dữ liệu lớn
# VLOOKUP cũ:
=VLOOKUP(A2, D:F, 2, 0)
# INDEX+MATCH tương đương:
=INDEX(E:E, MATCH(A2, D:D, 0))
# Tra cứu 2 chiều:
=INDEX(B2:G10, MATCH(A12, A2:A10, 0), MATCH(B12, B1:G1, 0))
# Tìm theo 2 điều kiện:
=INDEX(C:C, MATCH(A12&B12, A:A&B:B, 0))
6. Google Apps Script — Tự Động Hóa Hoàn Toàn
Google Apps Script (GAS) là ngôn ngữ JavaScript chạy trên nền tảng Google, cho phép tự động hóa các tác vụ phức tạp trong Google Sheets mà công thức thông thường không làm được.
Vào Google Sheets → Menu Extensions → Apps Script. Bạn sẽ thấy trình soạn thảo code JavaScript. Không cần cài đặt gì thêm.
6.1 Ví Dụ: Gửi Email Báo Cáo Tự Động
// Gửi email báo cáo doanh thu mỗi sáng 8h
function guiBaoCaoDoanhThu() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const data = sheet.getSheetByName("DoanhThu");
const tongDoanhThu = data.getRange("B2").getValue();
const ngay = Utilities.formatDate(new Date(), "Asia/Ho_Chi_Minh", "dd/MM/yyyy");
MailApp.sendEmail({
to: "chuquan@gmail.com",
subject: "Bao cao ngay " + ngay,
body: "Tong doanh thu: " + tongDoanhThu.toLocaleString("vi-VN") + " dong"
});
}
6.2 Trigger Tự Động
Để script chạy tự động theo lịch: Trong Apps Script, vào Triggers (biểu tượng đồng hồ) → Add Trigger → chọn hàm và lịch chạy (hàng ngày, hàng tuần, v.v.).
Ứng dụng Apps Script phổ biến nhất:
- Gửi email/SMS thông báo tồn kho thấp, đơn hàng mới
- Tạo file PDF báo cáo tháng và gửi email tự động
- Sao lưu dữ liệu sang Google Drive theo lịch
- Kết nối API bên ngoài (Facebook Ads, Google Analytics, CRM)
- Tạo dashboard tự cập nhật từ nhiều nguồn dữ liệu
7. Ứng Dụng Thực Tế Cho Doanh Nghiệp
Kết hợp 4 kỹ năng trên, bạn có thể xây dựng nhiều hệ thống quản lý thực tế mà không cần phần mềm đắt tiền:
Hệ thống quản lý bán hàng
- Sheet nhập đơn hàng → ARRAYFORMULA tính thành tiền
- QUERY tổng hợp doanh thu theo ngày/tháng/nhân viên
- IMPORTRANGE kết nối kho hàng sang báo cáo
- Apps Script gửi email xác nhận đơn tự động
Theo dõi dự án
- Dashboard tiến độ theo nhóm bằng QUERY
- ARRAYFORMULA tính % hoàn thành tự động
- Apps Script nhắc deadline qua email
- IMPORTRANGE kết nối timesheet với báo cáo
Quản lý kho hàng
- ARRAYFORMULA tính tồn kho = nhập - xuất
- INDEX+MATCH tra cứu giá theo mã sản phẩm
- Apps Script cảnh báo khi hàng sắp hết
- QUERY báo cáo hàng chậm luân chuyển
Quản lý nhân sự
- ARRAYFORMULA tính lương theo ngày công
- QUERY tổng hợp chấm công theo bộ phận
- Apps Script nhắc ngày sinh nhật nhân viên
- IMPORTRANGE kết nối dữ liệu đào tạo
Đây chính xác là những gì SheetStore xây dựng cho khách hàng — hệ thống Google Sheets nâng cao được tùy chỉnh theo đúng quy trình của từng doanh nghiệp. Bạn có thể tự học và tự xây, hoặc để đội ngũ SheetStore thiết kế hệ thống cho bạn trong vài ngày. Nếu muốn học có lộ trình bài bản, xem khóa học Google Sheets của SheetStore.
Muốn Có Hệ Thống Google Sheets Nâng Cao Ngay?
SheetStore thiết kế và setup hệ thống quản lý Google Sheets theo yêu cầu — sẵn sàng trong 3–5 ngày làm việc
8. Câu Hỏi Thường Gặp
ARRAYFORMULA trong Google Sheets là gì?
ARRAYFORMULA là hàm cho phép áp dụng một công thức lên toàn bộ cột hoặc dải ô mà không cần copy xuống từng dòng. Ví dụ: =ARRAYFORMULA(A2:A*B2:B) sẽ nhân cột A với cột B cho tất cả hàng có dữ liệu — chỉ cần nhập một lần ở ô đầu tiên.
Hàm QUERY Google Sheets dùng để làm gì?
QUERY cho phép truy vấn dữ liệu trong Google Sheets bằng cú pháp giống SQL (Google Visualization Query Language). Bạn có thể lọc, sắp xếp, nhóm và tổng hợp dữ liệu động mà không cần VBA hay macro phức tạp. Rất hữu ích để xây dựng báo cáo tự động.
IMPORTRANGE có giới hạn không?
IMPORTRANGE cho phép kết nối tối đa 50 sheet ngoài vào một file. Dữ liệu cập nhật mỗi 30 phút hoặc khi bạn mở file. Kết hợp với QUERY để lọc dữ liệu trước khi import giúp cải thiện tốc độ đáng kể.
Sự khác biệt giữa VLOOKUP và INDEX MATCH trong Google Sheets?
VLOOKUP chỉ tìm từ trái sang phải và dễ lỗi khi chèn/xóa cột. INDEX+MATCH linh hoạt hơn: tìm theo cả hai chiều, nhanh hơn với dữ liệu lớn, và không bị ảnh hưởng khi thay đổi cấu trúc bảng. Khuyến nghị dùng INDEX+MATCH cho mọi dự án quan trọng.
Google Apps Script có thể làm gì trong Google Sheets?
Apps Script (JavaScript trên nền Google) cho phép tự động hóa: gửi email tự động, tạo báo cáo PDF, kết nối API bên ngoài, tạo custom menu, trigger theo lịch. Đây là bước tiến từ Google Sheets nâng cao lên ứng dụng quản lý thực thụ — không cần lập trình viên chuyên nghiệp.
Bài viết liên quan:
📚 Bài Viết Liên Quan
Chia sẻ bài viết:
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.