50+ Hàm Google Sheets Nâng Cao Giúp Tăng Hiệu Suất Công Việc

Giới thiệu: Tại sao cần thành thạo hàm Google Sheets nâng cao?
Google Sheets không chỉ là một bảng tính trực tuyến đơn giản - nó là một công cụ phân tích dữ liệu mạnh mẽ với hơn 400 hàm tích hợp sẵn. Tuy nhiên, phần lớn người dùng chỉ sử dụng khoảng 10-15 hàm cơ bản như SUM, AVERAGE, IF. Nếu bạn muốn thực sự khai thác sức mạnh của Google Sheets, việc nắm vững các hàm nâng cao là điều bắt buộc.
Theo khảo sát từ Google Workspace năm 2026, những người thành thạo các hàm nâng cao trong Google Sheets có thể tiết kiệm trung bình 5-8 giờ mỗi tuần cho các tác vụ xử lý dữ liệu. Đó là lý do bài viết này tổng hợp 50+ hàm Google Sheets nâng cao được phân loại theo nhóm chức năng, kèm theo cú pháp, ví dụ thực tế và mẹo sử dụng chi tiết.
Bài viết này dành cho ai?
- Nhân viên văn phòng muốn nâng cao kỹ năng xử lý dữ liệu
- Kế toán, quản lý cần tự động hóa báo cáo
- Data Analyst sử dụng Google Sheets hàng ngày
- Chủ doanh nghiệp nhỏ muốn tối ưu quy trình
- Sinh viên và người tự học muốn nâng cao kỹ năng spreadsheet
Nhóm 1: Hàm Tra Cứu & Tham Chiếu (Lookup & Reference)
Đây là nhóm hàm quan trọng nhất trong Google Sheets, giúp bạn tìm kiếm và lấy dữ liệu từ các bảng lớn một cách nhanh chóng. Thành thạo nhóm hàm này sẽ giúp bạn xử lý dữ liệu hiệu quả hơn gấp nhiều lần.
1. VLOOKUP - Tra cứu dọc
VLOOKUP (Vertical Lookup) là hàm tra cứu phổ biến nhất, tìm kiếm một giá trị trong cột đầu tiên của một phạm vi và trả về giá trị từ cột tương ứng.
Cú pháp: =VLOOKUP(search_key, range, index, [is_sorted])
Ví dụ: =VLOOKUP("SP001", A2:D100, 3, FALSE)
// Tìm mã "SP001" trong cột A, trả về giá trị cột thứ 3 (Giá bán)
Ví dụ thực tế:
Bạn có bảng sản phẩm với cột A là Mã SP, cột B là Tên SP, cột C là Giá bán, cột D là Tồn kho. Dùng VLOOKUP để tra cứu giá bán khi biết mã sản phẩm:
=VLOOKUP("SP001", SanPham!A:D, 3, FALSE)
Mẹo sử dụng:
Luôn dùng FALSE ở tham số cuối để tra cứu chính xác. Dùng TRUE chỉ khi dữ liệu đã được sắp xếp tăng dần và bạn muốn tìm giá trị gần đúng.
2. HLOOKUP - Tra cứu ngang
HLOOKUP (Horizontal Lookup) tương tự VLOOKUP nhưng tìm kiếm theo hàng ngang thay vì cột dọc. Phù hợp khi dữ liệu được tổ chức theo hàng.
Cú pháp: =HLOOKUP(search_key, range, index, [is_sorted])
Ví dụ: =HLOOKUP("Tháng 3", A1:M3, 2, FALSE)
// Tìm "Tháng 3" ở hàng 1, trả về giá trị hàng thứ 2 (Doanh thu)
Ví dụ thực tế:
Bảng doanh thu theo tháng nằm ngang: Hàng 1 là tên tháng, Hàng 2 là doanh thu, Hàng 3 là chi phí. Tra cứu doanh thu tháng cụ thể:
=HLOOKUP("Tháng 6", A1:M3, 2, FALSE)
3. INDEX - Trả về giá trị theo vị trí
INDEX trả về giá trị của ô tại vị trí hàng và cột được chỉ định trong một phạm vi. Đây là hàm nền tảng khi kết hợp với MATCH.
Cú pháp: =INDEX(reference, row, [column])
Ví dụ: =INDEX(A2:D100, 5, 3)
// Trả về giá trị ở hàng 5, cột 3 của phạm vi A2:D100
4. MATCH - Tìm vị trí giá trị
MATCH tìm vị trí tương đối của một giá trị trong một phạm vi (hàng hoặc cột). Kết hợp với INDEX sẽ tạo ra công thức tra cứu mạnh hơn VLOOKUP.
Cú pháp: =MATCH(search_key, range, [search_type])
Ví dụ: =MATCH("SP001", A2:A100, 0)
// Tìm vị trí của "SP001" trong cột A, trả về số thứ tự hàng
5. INDEX + MATCH - Combo tra cứu mạnh nhất
Kết hợp INDEX và MATCH tạo ra công thức tra cứu linh hoạt hơn VLOOKUP rất nhiều: có thể tra cứu từ phải sang trái, tra cứu theo nhiều điều kiện, và không bị giới hạn bởi vị trí cột.
Cú pháp: =INDEX(cot_ket_qua, MATCH(gia_tri_tim, cot_tim, 0))
Ví dụ: =INDEX(B2:B100, MATCH("SP001", A2:A100, 0))
// Tìm tên sản phẩm (cột B) dựa trên mã SP (cột A)
Tra cứu từ phải sang trái:
=INDEX(A2:A100, MATCH(500000, C2:C100, 0))
// Tìm mã SP (cột A) có giá bán (cột C) = 500,000
Tại sao INDEX+MATCH tốt hơn VLOOKUP?
- Tra cứu được từ phải sang trái (VLOOKUP chỉ trái sang phải)
- Không bị lỗi khi thêm/xóa cột
- Nhanh hơn với dữ liệu lớn
- Có thể tra cứu theo nhiều điều kiện
6. XLOOKUP - Tra cứu thế hệ mới
XLOOKUP là phiên bản nâng cấp của VLOOKUP và HLOOKUP, được Google Sheets hỗ trợ từ 2023. Nó kết hợp ưu điểm của cả VLOOKUP và INDEX+MATCH trong một hàm duy nhất.
Cú pháp: =XLOOKUP(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode])
Ví dụ: =XLOOKUP("SP001", A2:A100, C2:C100, "Không tìm thấy")
// Tìm giá sản phẩm, trả về "Không tìm thấy" nếu không có
Ví dụ thực tế:
Tra cứu thông tin nhân viên với giá trị mặc định khi không tìm thấy:
=XLOOKUP(E2, NhanVien!A:A, NhanVien!B:B, "NV mới - chưa có thông tin")
7. INDIRECT - Tham chiếu gián tiếp
INDIRECT chuyển đổi một chuỗi văn bản thành tham chiếu ô thực sự. Rất hữu ích khi bạn muốn tạo công thức động dựa trên giá trị của ô khác.
Cú pháp: =INDIRECT(cell_reference_as_string, [is_A1_notation])
Ví dụ: =SUM(INDIRECT("Sheet_"&A1&"!B2:B100"))
// Nếu A1 = "Thang3", công thức sẽ tính SUM(Sheet_Thang3!B2:B100)
Mẹo sử dụng:
INDIRECT rất mạnh khi tạo dropdown phụ thuộc (dependent dropdown) hoặc khi cần tham chiếu đến sheet có tên thay đổi.
8. OFFSET - Tham chiếu dịch chuyển
OFFSET trả về một tham chiếu ô được dịch chuyển một số hàng và cột từ điểm bắt đầu. Thường dùng để tạo phạm vi động.
Cú pháp: =OFFSET(cell_reference, offset_rows, offset_columns, [height], [width])
Ví dụ: =SUM(OFFSET(A1, 0, 0, COUNTA(A:A), 1))
// Tính tổng phạm vi động từ A1 đến hết dữ liệu cột A
9. ROW & COLUMN - Lấy số hàng và cột
ROW trả về số hàng và COLUMN trả về số cột của một ô. Hữu ích khi tạo số thứ tự tự động hoặc trong các công thức phức tạp.
Cú pháp: =ROW([cell_reference]) / =COLUMN([cell_reference])
Ví dụ tạo STT tự động: =ROW() - 1
// Nếu công thức ở hàng 2, kết quả = 1; hàng 3 = 2; ...
Ví dụ đánh số liên tục: =ROW(A1)
// Khi copy xuống, tự tăng: 1, 2, 3, ...
10. ADDRESS - Tạo địa chỉ ô
ADDRESS tạo chuỗi địa chỉ ô từ số hàng và số cột. Kết hợp với INDIRECT để tạo tham chiếu động mạnh mẽ.
Cú pháp: =ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet])
Ví dụ: =ADDRESS(3, 2) // Kết quả: "$B$3"
=INDIRECT(ADDRESS(3, 2)) // Trả về giá trị tại ô B3
Nhóm 2: Hàm Xử Lý Văn Bản (Text Functions)
Nhóm hàm xử lý văn bản giúp bạn trích xuất, thay thế, và biến đổi dữ liệu dạng text. Đặc biệt hữu ích khi làm sạch dữ liệu (data cleaning) hoặc chuẩn hóa thông tin nhập từ nhiều nguồn.
11. SUBSTITUTE - Thay thế văn bản
SUBSTITUTE thay thế chuỗi văn bản cũ bằng chuỗi mới. Không giống REPLACE (thay theo vị trí), SUBSTITUTE thay theo nội dung.
Cú pháp: =SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])
Ví dụ: =SUBSTITUTE("Đơn hàng #001 - SP001", "001", "002")
// Kết quả: "Đơn hàng #002 - SP002"
Thay lần xuất hiện thứ 2: =SUBSTITUTE("001-001-003", "001", "999", 2)
// Kết quả: "001-999-003"
12. REGEXMATCH - Kiểm tra khớp regex
REGEXMATCH kiểm tra xem một chuỗi có khớp với biểu thức chính quy (regular expression) hay không. Trả về TRUE hoặc FALSE.
Cú pháp: =REGEXMATCH(text, regular_expression)
Ví dụ kiểm tra email hợp lệ:
=REGEXMATCH(A2, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$")
Ví dụ kiểm tra số điện thoại VN:
=REGEXMATCH(A2, "^(0[3|5|7|8|9])+([0-9]{8})$")
Ví dụ thực tế:
Lọc ra các đơn hàng có mã bắt đầu bằng "DH" theo sau là 4 chữ số:
=REGEXMATCH(A2, "^DH[0-9]{4}$")
13. REGEXEXTRACT - Trích xuất theo regex
REGEXEXTRACT trích xuất phần văn bản khớp với biểu thức chính quy. Rất mạnh để lấy dữ liệu cụ thể từ chuỗi phức tạp.
Cú pháp: =REGEXEXTRACT(text, regular_expression)
Trích xuất số từ chuỗi: =REGEXEXTRACT("Đơn hàng DH0045 ngày 15/02", "[0-9]+")
// Kết quả: "0045"
Trích xuất domain từ email: =REGEXEXTRACT("user@gmail.com", "@(.+)")
// Kết quả: "gmail.com"
Trích xuất mã sản phẩm: =REGEXEXTRACT("Mua SP-001 số lượng 5", "SP-[0-9]+")
14. REGEXREPLACE - Thay thế theo regex
REGEXREPLACE thay thế phần văn bản khớp với regex bằng chuỗi mới. Mạnh hơn SUBSTITUTE vì dùng pattern matching.
Cú pháp: =REGEXREPLACE(text, regular_expression, replacement)
Xóa tất cả ký tự không phải số: =REGEXREPLACE("0912-345-678", "[^0-9]", "")
// Kết quả: "0912345678"
Chuẩn hóa khoảng trắng: =REGEXREPLACE(" Nguyễn Văn A ", "s+", " ")
// Kết quả: " Nguyễn Văn A "
15. TEXTJOIN - Nối chuỗi nâng cao
TEXTJOIN nối nhiều chuỗi văn bản lại với nhau, cách nhau bởi dấu phân tách tùy chọn. Vượt trội hơn CONCATENATE vì có thể bỏ qua ô trống.
Cú pháp: =TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Ví dụ: =TEXTJOIN(", ", TRUE, A2:A10)
// Nối tất cả giá trị từ A2:A10, cách nhau dấu phẩy, bỏ qua ô trống
// Kết quả: "Táo, Cam, Nho, Dưa"
Tạo địa chỉ đầy đủ: =TEXTJOIN(", ", TRUE, B2, C2, D2, E2)
// Kết quả: "123 Nguyễn Huệ, Quận 1, TP.HCM, Việt Nam"
16. SPLIT - Tách chuỗi
SPLIT tách một chuỗi thành nhiều ô dựa trên ký tự phân tách. Ngược lại với TEXTJOIN.
Cú pháp: =SPLIT(text, delimiter, [split_by_each], [remove_empty_text])
Ví dụ: =SPLIT("Nguyễn Văn A", " ")
// Kết quả trải ra 3 ô: "Nguyễn" | "Văn" | "A"
Tách email thành tên và domain: =SPLIT("admin@sheet.com.vn", "@")
// Kết quả: "admin" | "sheet.com.vn"
17. JOIN - Nối mảng thành chuỗi
JOIN nối các phần tử của mảng thành một chuỗi. Khác với TEXTJOIN, JOIN hoạt động tốt hơn với kết quả từ các hàm mảng khác.
Cú pháp: =JOIN(delimiter, value_or_array1, [value_or_array2], ...)
Ví dụ kết hợp với FILTER:
=JOIN(", ", FILTER(B2:B100, C2:C100="Hà Nội"))
// Nối tên tất cả khách hàng ở Hà Nội, cách nhau dấu phẩy
18. PROPER & TRIM - Chuẩn hóa văn bản
PROPER viết hoa chữ cái đầu mỗi từ. TRIM loại bỏ khoảng trắng thừa. Hai hàm này rất cần thiết khi làm sạch dữ liệu.
PROPER: =PROPER("nguyễn văn anh") // "Nguyễn Văn Anh"
TRIM: =TRIM(" Nguyễn Văn Anh ") // "Nguyễn Văn Anh"
Kết hợp: =PROPER(TRIM(A2))
// Xóa khoảng trắng thừa VÀ viết hoa chữ cái đầu
Nhóm 3: Hàm Mảng & Xử Lý Dữ Liệu (Array & Data)
Đây là nhóm hàm giúp Google Sheets trở nên cực kỳ mạnh mẽ. Với các hàm mảng, bạn có thể xử lý hàng ngàn dòng dữ liệu chỉ với một công thức duy nhất.
19. ARRAYFORMULA - Áp dụng công thức cho toàn bộ cột
ARRAYFORMULA là hàm bắt buộc phải biết trong Google Sheets. Nó cho phép áp dụng một công thức cho toàn bộ phạm vi thay vì phải copy công thức xuống từng dòng.
Cú pháp: =ARRAYFORMULA(array_formula)
Tính thành tiền cho toàn bộ cột:
=ARRAYFORMULA(IF(B2:B="", "", B2:B * C2:C))
// B = Số lượng, C = Đơn giá, kết quả tự động tính cho mọi hàng
Tạo STT tự động:
=ARRAYFORMULA(IF(B2:B="", "", ROW(B2:B)-1))
Đánh dấu trùng lặp:
=ARRAYFORMULA(IF(COUNTIF(A2:A, A2:A)>1, "Trùng", "OK"))
Tại sao ARRAYFORMULA quan trọng?
- Chỉ cần 1 công thức cho toàn bộ cột (thay vì copy hàng trăm dòng)
- Tự động áp dụng cho dữ liệu mới thêm vào
- Giảm kích thước file và tăng tốc độ tính toán
- Dễ bảo trì - chỉ cần sửa 1 chỗ
20. FILTER - Lọc dữ liệu theo điều kiện
FILTER trả về phạm vi dữ liệu đã được lọc theo một hoặc nhiều điều kiện. Đây là thay thế hoàn hảo cho Advanced Filter.
Cú pháp: =FILTER(range, condition1, [condition2], ...)
Lọc đơn hàng > 1 triệu: =FILTER(A2:D100, D2:D100>1000000)
Lọc nhiều điều kiện: =FILTER(A2:D100, C2:C100="Hà Nội", D2:D100>500000)
// Đơn hàng ở Hà Nội VÀ trên 500K
Lọc OR (hoặc): =FILTER(A2:D100, (C2:C100="Hà Nội")+(C2:C100="HCM"))
// Đơn hàng ở Hà Nội HOẶC HCM
Ví dụ thực tế:
Lọc danh sách nhân viên có doanh số tháng này trên 50 triệu và thuộc phòng Sales:
=FILTER(NhanVien!A:E, NhanVien!D:D>50000000, NhanVien!C:C="Sales")
21. SORT - Sắp xếp dữ liệu
SORT sắp xếp phạm vi dữ liệu theo một hoặc nhiều cột, tăng dần hoặc giảm dần, mà không thay đổi dữ liệu gốc.
Cú pháp: =SORT(range, sort_column, is_ascending, [sort_column2], [is_ascending2], ...)
Sắp xếp theo doanh thu giảm dần: =SORT(A2:D100, 4, FALSE)
Sắp xếp theo tên (A-Z) rồi doanh thu (cao-thấp):
=SORT(A2:D100, 2, TRUE, 4, FALSE)
Kết hợp FILTER + SORT:
=SORT(FILTER(A2:D100, C2:C100="HCM"), 4, FALSE)
// Lọc HCM rồi sắp theo doanh thu giảm dần
22. SORTN - Lấy N giá trị top
SORTN sắp xếp và chỉ trả về N kết quả đầu tiên. Hoàn hảo cho bảng xếp hạng Top 5, Top 10.
Cú pháp: =SORTN(range, [n], [display_ties_mode], [sort_column1], [is_ascending1], ...)
Top 5 sản phẩm bán chạy nhất:
=SORTN(A2:D100, 5, 0, 4, FALSE)
// Lấy 5 hàng có doanh thu cao nhất
Top 10 nhân viên xuất sắc:
=SORTN(NhanVien!A:E, 10, 0, 5, FALSE)
23. UNIQUE - Loại bỏ trùng lặp
UNIQUE trả về danh sách các giá trị duy nhất từ một phạm vi, loại bỏ tất cả trùng lặp.
Cú pháp: =UNIQUE(range, [by_column], [exactly_once])
Danh sách thành phố duy nhất: =UNIQUE(C2:C100)
Chỉ lấy giá trị xuất hiện đúng 1 lần: =UNIQUE(C2:C100, FALSE, TRUE)
Đếm số giá trị unique: =COUNTA(UNIQUE(C2:C100))
24. FLATTEN - Chuyển mảng 2D thành 1 cột
FLATTEN chuyển đổi mảng nhiều hàng nhiều cột thành một cột duy nhất. Hàm này là đặc sản của Google Sheets, Excel không có.
Cú pháp: =FLATTEN(range1, [range2], ...)
Ví dụ: =FLATTEN(A1:C3)
// Dữ liệu 3x3 sẽ thành 1 cột 9 dòng
Ứng dụng: Gộp doanh thu 12 tháng (mỗi tháng 1 cột) thành 1 cột:
=FLATTEN(B2:M2)
25. TRANSPOSE - Chuyển hàng thành cột
TRANSPOSE hoán đổi hàng và cột của một phạm vi dữ liệu. Hữu ích khi bạn cần thay đổi hướng bố trí dữ liệu.
Cú pháp: =TRANSPOSE(array_or_range)
Ví dụ: =TRANSPOSE(A1:D1) // Chuyển 1 hàng 4 cột thành 4 hàng 1 cột
=TRANSPOSE(A1:B10) // Chuyển bảng 10x2 thành 2x10
26. QUERY - SQL cho Google Sheets
QUERY là hàm mạnh nhất trong Google Sheets - cho phép bạn viết truy vấn kiểu SQL để lọc, sắp xếp, nhóm và tổng hợp dữ liệu. Đây là hàm độc quyền của Google Sheets mà Excel không có.
Cú pháp: =QUERY(data, query, [headers])
Lọc cơ bản:
=QUERY(A1:E100, "SELECT * WHERE D > 1000000")
Lọc + sắp xếp:
=QUERY(A1:E100, "SELECT A, B, D WHERE C = 'Hà Nội' ORDER BY D DESC")
Nhóm và tổng hợp:
=QUERY(A1:E100, "SELECT C, SUM(D), COUNT(A) WHERE D > 0 GROUP BY C ORDER BY SUM(D) DESC LABEL SUM(D) 'Tổng DT', COUNT(A) 'Số ĐH'")
Top 10 theo doanh thu:
=QUERY(A1:E100, "SELECT A, B, D ORDER BY D DESC LIMIT 10")
Lọc theo ngày:
=QUERY(A1:E100, "SELECT * WHERE E >= date '2026-01-01' AND E <= date '2026-01-31'")
Các từ khóa QUERY thường dùng:
- SELECT - Chọn cột
- WHERE - Điều kiện lọc
- ORDER BY - Sắp xếp (ASC/DESC)
- GROUP BY - Nhóm dữ liệu
- LIMIT - Giới hạn số kết quả
- LABEL - Đổi tên header
- PIVOT - Tạo pivot table
- FORMAT - Định dạng kết quả
Nhóm 4: Hàm Ngày Tháng & Thời Gian (Date & Time)
Xử lý ngày tháng luôn là thách thức lớn trong bảng tính. Nhóm hàm này giúp bạn tính toán khoảng cách thời gian, xác định ngày làm việc, và định dạng ngày tháng linh hoạt.
27. DATEDIF - Tính khoảng cách giữa 2 ngày
DATEDIF tính sự khác biệt giữa 2 ngày theo đơn vị năm, tháng hoặc ngày. Đây là hàm ẩn (không hiện trong gợi ý) nhưng cực kỳ hữu ích.
Cú pháp: =DATEDIF(start_date, end_date, unit)
// unit: "Y" (năm), "M" (tháng), "D" (ngày), "YM" (tháng lẻ), "MD" (ngày lẻ)
Tính thâm niên nhân viên:
=DATEDIF(B2, TODAY(), "Y") & " năm " & DATEDIF(B2, TODAY(), "YM") & " tháng"
// Kết quả: "3 năm 5 tháng"
Tính tuổi: =DATEDIF(A2, TODAY(), "Y") // Kết quả: 28
Ví dụ thực tế:
Tính số ngày còn lại của hợp đồng:
=DATEDIF(TODAY(), C2, "D") & " ngày"
Trong đó C2 là ngày kết thúc hợp đồng.
28. EOMONTH - Ngày cuối tháng
EOMONTH trả về ngày cuối cùng của tháng, cách tháng hiện tại một số tháng chỉ định. Rất hữu ích cho kế toán và lập kế hoạch.
Cú pháp: =EOMONTH(start_date, months)
Ngày cuối tháng hiện tại: =EOMONTH(TODAY(), 0)
Ngày cuối tháng sau: =EOMONTH(TODAY(), 1)
Ngày cuối tháng trước: =EOMONTH(TODAY(), -1)
Ngày đầu tháng hiện tại: =EOMONTH(TODAY(), -1) + 1
Deadline báo cáo (ngày 5 tháng sau):
=EOMONTH(TODAY(), 0) + 5
29. NETWORKDAYS - Số ngày làm việc
NETWORKDAYS tính số ngày làm việc (trừ thứ 7, chủ nhật và ngày lễ) giữa 2 ngày. Lý tưởng cho quản lý dự án.
Cú pháp: =NETWORKDAYS(start_date, end_date, [holidays])
Số ngày làm việc trong tháng:
=NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0))
Trừ thêm ngày lễ:
=NETWORKDAYS(A2, B2, NgayLe!A:A)
// NgayLe là sheet chứa danh sách ngày nghỉ lễ
30. WORKDAY - Tính ngày làm việc tiếp theo
WORKDAY trả về ngày sau khi cộng thêm một số ngày làm việc (bỏ qua cuối tuần và ngày lễ). Hoàn hảo để tính deadline.
Cú pháp: =WORKDAY(start_date, num_days, [holidays])
Deadline sau 5 ngày làm việc: =WORKDAY(TODAY(), 5)
Deadline sau 10 ngày, trừ ngày lễ: =WORKDAY(TODAY(), 10, NgayLe!A:A)
31. WEEKDAY - Xác định thứ trong tuần
WEEKDAY trả về số thứ tự ngày trong tuần. Hữu ích khi cần phân loại dữ liệu theo ngày trong tuần.
Cú pháp: =WEEKDAY(date, [type])
Lấy tên thứ: =CHOOSE(WEEKDAY(A2, 2), "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "Chủ Nhật")
Kiểm tra cuối tuần: =IF(WEEKDAY(A2, 2)>5, "Cuối tuần", "Ngày thường")
32. TEXT (cho ngày tháng) - Định dạng ngày linh hoạt
Hàm TEXT chuyển đổi giá trị ngày thành chuỗi văn bản theo định dạng tùy chọn. Rất hữu ích khi tạo báo cáo.
Cú pháp: =TEXT(value, format)
Định dạng ngày Việt Nam: =TEXT(A2, "DD/MM/YYYY") // 15/02/2026
Chỉ lấy tháng-năm: =TEXT(A2, "MM/YYYY") // 02/2026
Tên tháng bằng chữ: =TEXT(A2, "MMMM YYYY") // February 2026
Ngày + giờ: =TEXT(A2, "DD/MM/YYYY HH:mm:ss")
Tạo tên file báo cáo:
="Bao_Cao_"&TEXT(TODAY(), "YYYY_MM_DD")
// Kết quả: "Bao_Cao_2026_02_15"
Nhóm 5: Hàm Logic & Điều Kiện (Logical Functions)
Hàm logic giúp bạn xây dựng các công thức ra quyết định phức tạp, phân loại dữ liệu tự động, và xử lý lỗi một cách elegant.
33. IFS - Nhiều điều kiện IF
IFS kiểm tra nhiều điều kiện và trả về giá trị tương ứng với điều kiện đúng đầu tiên. Thay thế hoàn hảo cho IF lồng nhau.
Cú pháp: =IFS(condition1, value1, condition2, value2, ...)
Xếp loại nhân viên theo doanh số:
=IFS(
D2>=100000000, "Xuất sắc",
D2>=70000000, "Tốt",
D2>=50000000, "Khá",
D2>=30000000, "Trung bình",
TRUE, "Cần cải thiện"
)
// Dùng TRUE ở cuối làm điều kiện "else"
Mẹo sử dụng:
Luôn thêm TRUE làm điều kiện cuối cùng để xử lý trường hợp không khớp bất kỳ điều kiện nào. Nếu không, hàm sẽ trả về lỗi #N/A.
34. SWITCH - So sánh giá trị cụ thể
SWITCH so sánh một giá trị với danh sách các giá trị cụ thể và trả về kết quả tương ứng. Gọn hơn IFS khi cần so sánh bằng (=).
Cú pháp: =SWITCH(expression, case1, value1, [case2, value2], ..., [default])
Chuyển mã trạng thái thành text:
=SWITCH(C2,
"NEW", "Đơn mới",
"PROCESSING", "Đang xử lý",
"SHIPPED", "Đã giao hàng",
"COMPLETED", "Hoàn thành",
"CANCELLED", "Đã hủy",
"Không xác định"
)
35. AND / OR / NOT - Kết hợp điều kiện
Ba hàm logic nền tảng để kết hợp nhiều điều kiện trong công thức IF và các hàm khác.
AND - Tất cả phải đúng:
=IF(AND(D2>50000000, E2>=90), "Thưởng đặc biệt", "Bình thường")
// Doanh số > 50tr VÀ KPI >= 90
OR - Ít nhất 1 đúng:
=IF(OR(C2="VIP", D2>100000000), "Ưu tiên", "Thường")
// Khách VIP HOẶC doanh số > 100tr
NOT - Phủ định:
=IF(NOT(ISBLANK(A2)), "Có dữ liệu", "Trống")
Kết hợp phức tạp:
=IF(AND(OR(C2="HN", C2="HCM"), D2>50000000, NOT(E2="Đã hủy")), "Đạt", "Không đạt")
36. IFERROR - Xử lý lỗi
IFERROR trả về giá trị thay thế khi công thức gặp lỗi. Giúp bảng tính sạch đẹp và không hiển thị các lỗi #N/A, #DIV/0!, #REF!.
Cú pháp: =IFERROR(value, [value_if_error])
Xử lý VLOOKUP không tìm thấy:
=IFERROR(VLOOKUP(A2, Data!A:C, 3, FALSE), "Không tìm thấy")
Xử lý chia cho 0:
=IFERROR(B2/C2, 0)
Xử lý nhiều lỗi kết hợp:
=IFERROR(INDEX(MATCH(...)), "N/A")
37. IFNA - Xử lý riêng lỗi #N/A
IFNA chỉ xử lý lỗi #N/A, không ảnh hưởng đến các lỗi khác. An toàn hơn IFERROR vì các lỗi khác vẫn được hiển thị để bạn biết có vấn đề.
Cú pháp: =IFNA(value, value_if_na)
=IFNA(VLOOKUP(A2, Data!A:C, 3, FALSE), "Sản phẩm mới")
// Chỉ trả về "Sản phẩm mới" khi #N/A, các lỗi khác vẫn hiển thị
38. LET - Khai báo biến trong công thức
LET cho phép bạn đặt tên cho các giá trị trung gian trong công thức, giúp công thức dễ đọc hơn và tính toán nhanh hơn vì tránh tính lặp lại.
Cú pháp: =LET(name1, value1, [name2, value2], ..., formula_expression)
Ví dụ tính giá sau chiết khấu và VAT:
=LET(
gia_goc, B2,
chiet_khau, C2/100,
vat, 0.08,
gia_sau_ck, gia_goc * (1 - chiet_khau),
gia_sau_ck * (1 + vat)
)
Ví dụ phân loại phức tạp:
=LET(
doanh_so, D2,
kpi, E2,
diem, doanh_so/1000000 + kpi,
IFS(diem>=150, "S", diem>=120, "A", diem>=90, "B", TRUE, "C")
)
Ưu điểm của LET:
- Công thức dễ đọc và bảo trì hơn
- Tránh tính toán lặp lại, tăng hiệu suất
- Đặt tên biến giúp hiểu ý nghĩa từng phần
Nhóm 6: Hàm Thống Kê Nâng Cao (Advanced Statistics)
Nhóm hàm thống kê có điều kiện (hậu tố -IFS) cho phép bạn tính tổng, đếm, trung bình với nhiều điều kiện lọc cùng lúc. Đây là công cụ phân tích dữ liệu mạnh mẽ mà không cần pivot table.
39. COUNTIFS - Đếm nhiều điều kiện
COUNTIFS đếm số ô thỏa mãn nhiều điều kiện cùng lúc. Nâng cấp mạnh mẽ của COUNTIF.
Cú pháp: =COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
Đếm đơn hàng ở HN có giá trị > 1 triệu:
=COUNTIFS(C2:C100, "Hà Nội", D2:D100, ">1000000")
Đếm đơn trong tháng 2/2026:
=COUNTIFS(E2:E100, ">="&DATE(2026,2,1), E2:E100, "<="&EOMONTH(DATE(2026,2,1),0))
Đếm nhân viên Sales có KPI >= 80:
=COUNTIFS(PhongBan, "Sales", KPI, ">=80")
40. SUMIFS - Tính tổng nhiều điều kiện
SUMIFS tính tổng các giá trị thỏa mãn nhiều điều kiện. Hàm phân tích kinh doanh quan trọng nhất.
Cú pháp: =SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
Tổng doanh thu HN tháng 2/2026:
=SUMIFS(D2:D100, C2:C100, "Hà Nội", E2:E100, ">="&DATE(2026,2,1), E2:E100, "<="&EOMONTH(DATE(2026,2,1),0))
Tổng doanh số sản phẩm A của nhân viên B:
=SUMIFS(DoanhSo, SanPham, "Sản phẩm A", NhanVien, "Nguyễn Văn B")
Ví dụ thực tế - Báo cáo doanh thu:
Tính doanh thu theo từng vùng miền trong quý 1:
=SUMIFS(DonHang!F:F, DonHang!C:C, "Miền Bắc", DonHang!E:E, ">="&DATE(2026,1,1), DonHang!E:E, "<="&DATE(2026,3,31))
41. AVERAGEIFS - Trung bình nhiều điều kiện
AVERAGEIFS tính trung bình có điều kiện, giúp so sánh hiệu suất giữa các nhóm.
Cú pháp: =AVERAGEIFS(average_range, criteria_range1, criteria1, ...)
Doanh thu trung bình mỗi đơn ở HCM:
=AVERAGEIFS(D2:D100, C2:C100, "HCM")
Điểm KPI trung bình phòng Sales trong Q1:
=AVERAGEIFS(KPI, PhongBan, "Sales", Thang, ">=1", Thang, "<=3")
42. MAXIFS & MINIFS - Giá trị lớn nhất / nhỏ nhất có điều kiện
MAXIFS tìm giá trị lớn nhất và MINIFS tìm giá trị nhỏ nhất trong phạm vi thỏa mãn các điều kiện.
MAXIFS: =MAXIFS(max_range, criteria_range1, criteria1, ...)
MINIFS: =MINIFS(min_range, criteria_range1, criteria1, ...)
Đơn hàng lớn nhất tháng này ở HN:
=MAXIFS(D2:D100, C2:C100, "Hà Nội", E2:E100, ">="&EOMONTH(TODAY(),-1)+1)
Doanh số thấp nhất trong phòng Sales:
=MINIFS(DoanhSo, PhongBan, "Sales", DoanhSo, ">0")
43. SUMPRODUCT - Tính tổng tích
SUMPRODUCT nhân các phần tử tương ứng của hai hay nhiều mảng rồi tính tổng. Rất mạnh cho phân tích dữ liệu phức tạp.
Cú pháp: =SUMPRODUCT(array1, [array2], ...)
Tính tổng thành tiền: =SUMPRODUCT(SoLuong, DonGia)
// Tương đương =SUM(B2:B100 * C2:C100) nhưng không cần ARRAYFORMULA
Đếm có điều kiện phức tạp (thay COUNTIFS):
=SUMPRODUCT((C2:C100="HN")*(D2:D100>1000000))
Tính weighted average (trung bình có trọng số):
=SUMPRODUCT(Diem, TrongSo) / SUM(TrongSo)
44. PERCENTILE & QUARTILE - Phân vị thống kê
PERCENTILE tính giá trị tại phân vị chỉ định. QUARTILE tính tứ phân vị. Hữu ích khi phân tích phân bố dữ liệu.
Top 10% doanh thu: =PERCENTILE(D2:D100, 0.9)
// Giá trị mà 90% dữ liệu nằm dưới
Phân nhóm khách hàng theo doanh thu:
=IF(D2>=PERCENTILE(D$2:D$100, 0.75), "Nhóm A",
IF(D2>=PERCENTILE(D$2:D$100, 0.5), "Nhóm B",
IF(D2>=PERCENTILE(D$2:D$100, 0.25), "Nhóm C", "Nhóm D")))
Nhóm 7: Hàm Import & Kết Nối Dữ Liệu (Import Functions)
Đây là nhóm hàm độc quyền của Google Sheets, cho phép bạn kéo dữ liệu từ bên ngoài (web, file khác, API) trực tiếp vào bảng tính. Excel không có nhóm hàm tương tự.
45. IMPORTRANGE - Liên kết giữa các Spreadsheets
IMPORTRANGE nhập dữ liệu từ một Google Sheets khác. Đây là hàm quan trọng nhất để tạo hệ thống nhiều file liên kết với nhau.
Cú pháp: =IMPORTRANGE(spreadsheet_url, range_string)
Ví dụ: =IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123", "Sheet1!A1:D100")
Import kết hợp QUERY:
=QUERY(IMPORTRANGE("url", "DonHang!A:F"), "SELECT * WHERE Col4 > 1000000")
Import kết hợp FILTER:
=FILTER(IMPORTRANGE("url", "Data!A:E"), IMPORTRANGE("url", "Data!C:C")="Hà Nội")
Lưu ý quan trọng:
Lần đầu sử dụng IMPORTRANGE, bạn cần click "Allow access" để cấp quyền truy cập. Mỗi spreadsheet có giới hạn 50 lệnh IMPORTRANGE đồng thời.
46. IMPORTDATA - Import từ file CSV/TSV
IMPORTDATA tải dữ liệu từ file CSV hoặc TSV online trực tiếp vào Google Sheets.
Cú pháp: =IMPORTDATA(url)
Ví dụ: =IMPORTDATA("https://example.com/data/sales-report.csv")
// Tải toàn bộ file CSV vào bảng tính
47. IMPORTHTML - Lấy bảng/danh sách từ website
IMPORTHTML trích xuất bảng (table) hoặc danh sách (list) từ một trang web. Cực kỳ hữu ích để cập nhật dữ liệu tự động từ các trang web.
Cú pháp: =IMPORTHTML(url, query, index)
// query: "table" hoặc "list"
// index: thứ tự bảng/danh sách trên trang (bắt đầu từ 1)
Lấy bảng xếp hạng:
=IMPORTHTML("https://example.com/rankings", "table", 1)
Lấy danh sách:
=IMPORTHTML("https://example.com/categories", "list", 2)
48. IMPORTXML - Lấy dữ liệu từ XML/HTML
IMPORTXML dùng XPath để trích xuất dữ liệu cụ thể từ XML hoặc HTML. Mạnh hơn IMPORTHTML vì có thể target chính xác phần tử cần lấy.
Cú pháp: =IMPORTXML(url, xpath_query)
Lấy title trang web:
=IMPORTXML("https://example.com", "//title")
Lấy tất cả heading h2:
=IMPORTXML("https://example.com/article", "//h2")
Lấy giá sản phẩm:
=IMPORTXML("https://example.com/product", "//span[@class='price']")
49. IMPORTFEED - Lấy RSS Feed
IMPORTFEED import dữ liệu từ RSS hoặc Atom feed. Hữu ích để theo dõi tin tức, blog posts mới.
Cú pháp: =IMPORTFEED(url, [query], [headers], [num_items])
Lấy 10 bài viết mới nhất:
=IMPORTFEED("https://example.com/feed", "items", TRUE, 10)
Chỉ lấy tiêu đề bài viết:
=IMPORTFEED("https://example.com/feed", "items title", FALSE, 20)
50. IMAGE - Chèn hình ảnh vào ô
IMAGE chèn hình ảnh từ URL vào ô trong Google Sheets. Hữu ích khi tạo catalog sản phẩm hoặc dashboard.
Cú pháp: =IMAGE(url, [mode], [height], [width])
// mode: 1 (fit), 2 (stretch), 3 (original), 4 (custom size)
Chèn ảnh sản phẩm: =IMAGE(E2, 1) // E2 chứa URL ảnh
Chèn ảnh kích thước cố định: =IMAGE(E2, 4, 100, 100) // 100x100 px
Nhóm 8: Hàm Google Sheets Độc Quyền (Google-Only Functions)
Những hàm này chỉ có trong Google Sheets và không tồn tại trong Excel. Chúng tận dụng sức mạnh đám mây và các dịch vụ Google để mang lại khả năng đặc biệt.
51. GOOGLEFINANCE - Dữ liệu tài chính
GOOGLEFINANCE lấy dữ liệu chứng khoán, tỷ giá, tiền điện tử trực tiếp từ Google Finance. Dữ liệu cập nhật real-time (delay 15-20 phút).
Cú pháp: =GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval])
Giá cổ phiếu hiện tại:
=GOOGLEFINANCE("VNM") // Vinamilk
=GOOGLEFINANCE("FPT") // FPT
Tỷ giá USD/VND:
=GOOGLEFINANCE("CURRENCY:USDVND")
Giá Bitcoin:
=GOOGLEFINANCE("BTCUSD")
Lịch sử giá 30 ngày:
=GOOGLEFINANCE("VNM", "close", TODAY()-30, TODAY(), "DAILY")
Các attribute phổ biến: "price", "high", "low", "volume", "marketcap", "pe", "eps"
Ví dụ thực tế:
Tạo bảng theo dõi portfolio chứng khoán tự động cập nhật:
Giá hiện tại: =GOOGLEFINANCE(A2, "price")
Thay đổi %: =GOOGLEFINANCE(A2, "changepct")/100
Lãi/lỗ: =B2 * (GOOGLEFINANCE(A2, "price") - C2)
52. GOOGLETRANSLATE - Dịch ngôn ngữ
GOOGLETRANSLATE dịch văn bản giữa các ngôn ngữ trực tiếp trong ô. Hỗ trợ hơn 100 ngôn ngữ.
Cú pháp: =GOOGLETRANSLATE(text, [source_language], [target_language])
Dịch Việt sang Anh: =GOOGLETRANSLATE(A2, "vi", "en")
Dịch Anh sang Việt: =GOOGLETRANSLATE(A2, "en", "vi")
Tự phát hiện ngôn ngữ: =GOOGLETRANSLATE(A2, "auto", "vi")
Dịch hàng loạt với ARRAYFORMULA:
=ARRAYFORMULA(IF(A2:A="", "", GOOGLETRANSLATE(A2:A, "vi", "en")))
53. SPARKLINE - Biểu đồ mini trong ô
SPARKLINE tạo biểu đồ mini trực tiếp trong một ô. Hoàn hảo cho dashboard và báo cáo nhanh.
Cú pháp: =SPARKLINE(data, [options])
Biểu đồ đường (xu hướng doanh thu 12 tháng):
=SPARKLINE(B2:M2)
Biểu đồ cột:
=SPARKLINE(B2:M2, {"charttype","column"; "color","#4285F4"})
Biểu đồ win/loss:
=SPARKLINE(B2:M2, {"charttype","winloss"; "color","green"; "negcolor","red"})
Biểu đồ thanh (progress bar):
=SPARKLINE({D2, 100-D2}, {"charttype","bar"; "color1","#34A853"; "color2","#EEEEEE"})
Mẹo tạo Progress Bar:
Tạo thanh tiến độ KPI trực quan ngay trong ô:
=SPARKLINE({MIN(D2,100), MAX(100-D2,0)}, {"charttype","bar"; "max",100; "color1","#4CAF50"; "color2","#E0E0E0"})
54. DETECTLANGUAGE - Nhận diện ngôn ngữ
DETECTLANGUAGE tự động nhận diện ngôn ngữ của văn bản trong ô. Hữu ích khi xử lý dữ liệu đa ngôn ngữ.
Cú pháp: =DETECTLANGUAGE(text_or_range)
=DETECTLANGUAGE("Xin chào") // Kết quả: "vi"
=DETECTLANGUAGE("Hello") // Kết quả: "en"
=DETECTLANGUAGE("こんにちは") // Kết quả: "ja"
Ứng dụng: Tự động dịch sang tiếng Việt nếu ngôn ngữ khác:
=IF(DETECTLANGUAGE(A2)<>"vi", GOOGLETRANSLATE(A2, "auto", "vi"), A2)
55. LAMBDA - Tạo hàm tùy chỉnh (Mới 2024)
LAMBDA cho phép bạn tạo hàm tùy chỉnh ngay trong Google Sheets mà không cần Apps Script. Kết hợp với Named Functions để tái sử dụng.
Cú pháp: =LAMBDA(parameter1, [parameter2], ..., formula_expression)
Tạo hàm tính VAT:
=LAMBDA(gia, gia * 1.08)(500000) // Kết quả: 540,000
Tạo hàm phân loại khách hàng:
=LAMBDA(doanh_thu, IFS(doanh_thu>=100000000,"VIP", doanh_thu>=50000000,"Gold", doanh_thu>=20000000,"Silver", TRUE,"Bronze"))(D2)
Kết hợp MAP để áp dụng cho toàn bộ cột:
=MAP(D2:D100, LAMBDA(x, IF(x="", "", x*1.08)))
Mẹo Kết Hợp Hàm - 5 Công Thức Mạnh Mẽ Nhất
Sức mạnh thực sự của Google Sheets nằm ở việc kết hợp nhiều hàm lại với nhau. Dưới đây là 5 combo công thức cực mạnh mà bạn nên thuộc lòng.
Combo 1: QUERY + IMPORTRANGE - Báo cáo từ nhiều nguồn
// Lấy dữ liệu từ file khác, lọc và tổng hợp
=QUERY(
IMPORTRANGE("spreadsheet_url", "DonHang!A:F"),
"SELECT Col2, SUM(Col5) WHERE Col3 = 'Hà Nội' AND Col4 >= date '2026-01-01' GROUP BY Col2 ORDER BY SUM(Col5) DESC LABEL SUM(Col5) 'Tổng Doanh Thu'"
)
Ứng dụng: Tạo báo cáo tổng hợp doanh thu theo nhân viên từ file dữ liệu gốc,
lọc theo khu vực và thời gian.
Combo 2: ARRAYFORMULA + IF + VLOOKUP - Tra cứu hàng loạt
// Tra cứu tên sản phẩm cho toàn bộ cột mã SP
=ARRAYFORMULA(
IF(A2:A="", "",
IFERROR(VLOOKUP(A2:A, SanPham!A:B, 2, FALSE), "SP không tồn tại")
)
)
Ứng dụng: Tự động điền tên sản phẩm khi nhập mã SP vào đơn hàng.
Chỉ cần 1 công thức cho toàn bộ cột.
Combo 3: FILTER + SORT + INDEX - Top N động
// Top 5 khách hàng có doanh thu cao nhất tháng này
=SORTN(
FILTER(
{B2:B100, D2:D100},
MONTH(E2:E100) = MONTH(TODAY()),
YEAR(E2:E100) = YEAR(TODAY()),
D2:D100 > 0
),
5, 0, 2, FALSE
)
Ứng dụng: Dashboard tự động hiển thị Top 5 khách hàng mỗi tháng,
tự cập nhật khi sang tháng mới.
Combo 4: LET + INDEX + MATCH - Tra cứu nâng cao dễ đọc
// Tra cứu nhiều giá trị với biến trung gian
=LET(
ma_sp, A2,
bang_sp, SanPham!A:E,
vi_tri, MATCH(ma_sp, INDEX(bang_sp,,1), 0),
ten_sp, INDEX(bang_sp, vi_tri, 2),
gia, INDEX(bang_sp, vi_tri, 3),
ton_kho, INDEX(bang_sp, vi_tri, 4),
ten_sp & " | " & TEXT(gia, "#,##0") & "đ | Tồn: " & ton_kho
)
Ứng dụng: Hiển thị thông tin sản phẩm đầy đủ chỉ từ mã SP,
code gọn gàng nhờ LET.
Combo 5: ARRAYFORMULA + IFS + SUMIFS - Phân loại tự động
// Phân loại khách hàng dựa trên tổng doanh thu tích lũy
=ARRAYFORMULA(
IF(B2:B="", "",
LET(
tong_dt, SUMIFS(DonHang!D:D, DonHang!B:B, B2:B),
so_don, COUNTIFS(DonHang!B:B, B2:B),
IFS(
tong_dt >= 100000000, "VIP",
AND(tong_dt >= 50000000, so_don >= 10), "Gold",
tong_dt >= 20000000, "Silver",
TRUE, "Bronze"
)
)
)
)
Ứng dụng: Tự động phân hạng khách hàng dựa trên doanh thu
và số đơn hàng tích lũy.
Lỗi Thường Gặp & Cách Khắc Phục
Khi làm việc với các hàm nâng cao, bạn sẽ gặp một số lỗi phổ biến. Hiểu nguyên nhân và cách khắc phục sẽ giúp bạn tiết kiệm rất nhiều thời gian.
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| #N/A | Không tìm thấy giá trị (VLOOKUP, MATCH) | Dùng IFERROR hoặc IFNA để xử lý. Kiểm tra khoảng trắng thừa bằng TRIM. |
| #REF! | Tham chiếu ô không hợp lệ (đã bị xóa) | Kiểm tra lại phạm vi, đảm bảo các ô/sheet tham chiếu còn tồn tại. |
| #DIV/0! | Chia cho 0 hoặc ô trống | Dùng IFERROR(A/B, 0) hoặc IF(B<>0, A/B, 0). |
| #VALUE! | Sai kiểu dữ liệu (text thay vì number) | Dùng VALUE() để chuyển text thành số, hoặc DATEVALUE() cho ngày. |
| #ERROR! | Lỗi cú pháp công thức | Kiểm tra dấu ngoặc, dấu phẩy/chấm phẩy, tên hàm viết đúng chưa. |
| #NAME? | Tên hàm hoặc named range không tồn tại | Kiểm tra lỗi chính tả tên hàm. Đặt text trong dấu ngoặc kép. |
| Loading... | Hàm IMPORT đang tải dữ liệu | Chờ vài giây. Nếu kéo dài, kiểm tra URL và quyền truy cập. |
Mẹo debug công thức phức tạp:
- Tách công thức lớn thành nhiều ô nhỏ để kiểm tra từng phần
- Dùng hàm LET để đặt tên cho các phần trung gian
- Sử dụng F2 (hoặc click vào thanh công thức) để thấy highlight phạm vi
- Bọc IFERROR tạm thời để xem công thức có chạy không
- Kiểm tra Locale setting (File > Settings) nếu dấu phân cách bị sai
Bảng Tổng Hợp 50+ Hàm Theo Mức Độ Khó
| Cơ bản (Nên biết) | Trung bình (Nên học) | Nâng cao (Chuyên sâu) |
|---|---|---|
| VLOOKUP | INDEX + MATCH | QUERY |
| HLOOKUP | XLOOKUP | LAMBDA |
| COUNTIFS | ARRAYFORMULA | LET + LAMBDA |
| SUMIFS | FILTER | IMPORTRANGE + QUERY |
| IFERROR | SORT / SORTN | REGEXEXTRACT |
| IFS / SWITCH | UNIQUE | IMPORTXML + XPath |
| TEXTJOIN / SPLIT | GOOGLEFINANCE | SUMPRODUCT nâng cao |
| DATEDIF | SPARKLINE | INDIRECT + ADDRESS |
| SUBSTITUTE | GOOGLETRANSLATE | OFFSET động |
| TEXT | NETWORKDAYS | Nested QUERY |
Kết Luận
Việc thành thạo 50+ hàm Google Sheets nâng cao trong bài viết này sẽ giúp bạn chuyển đổi từ người dùng cơ bản thành một chuyên gia bảng tính thực thụ. Hãy nhớ rằng bạn không cần học tất cả cùng lúc - hãy bắt đầu với những hàm phù hợp nhất với công việc của bạn và mở rộng dần.
Lộ trình học đề xuất:
- Tuần 1-2: VLOOKUP, COUNTIFS, SUMIFS, IFERROR, IFS
- Tuần 3-4: INDEX+MATCH, ARRAYFORMULA, FILTER, SORT
- Tuần 5-6: QUERY, IMPORTRANGE, REGEXEXTRACT
- Tuần 7-8: LET, LAMBDA, SPARKLINE, GOOGLEFINANCE
Nếu bạn muốn tiết kiệm thời gian và bắt đầu ngay với các template Google Sheets chuyên nghiệp đã được tích hợp sẵn các hàm nâng cao, hãy khám phá bộ sưu tập template của SheetStore (sheet.com.vn). Chúng tôi cung cấp các mẫu quản lý bán hàng, quản lý kho, CRM, báo cáo tài chính được thiết kế bởi chuyên gia - giúp bạn áp dụng ngay các hàm nâng cao vào công việc mà không cần tự xây dựng từ đầu.
Tài nguyên hữu ích tại SheetStore:
- Phần mềm quản lý trên Google Sheets - Giải pháp quản lý toàn diện
- Blog hướng dẫn Google Sheets - Thêm nhiều tips & tricks
- Template quản lý bán hàng, kho hàng, CRM sẵn sàng sử dụng
Hãy bắt đầu thực hành ngay hôm nay! Mở Google Sheets và thử từng hàm trong bài viết. Cách tốt nhất để nhớ là thực hành với dữ liệu thực tế của bạn. Chúc bạn thành công!
Bài viết được cập nhật lần cuối: Tháng 2/2026. Nội dung được biên soạn bởi đội ngũ chuyên gia Google Sheets tại SheetStore.
Bạn thấy hàm nào hữu ích nhất? Hãy chia sẻ ở phần bình luận bên dưới!
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.