Google Sheets hay Excel: so sánh thật cho người dùng văn phòng và chủ cửa hàng nhỏ
Google Sheets hay Excel: so chi phí, làm chung, dùng trên điện thoại, khi mất mạng, giới hạn dữ liệu, Apps Script với VBA và các công thức khác nhau.
Mẹo Google Sheets · 16 phút đọc
SUMIFS cộng các ô thoả **tất cả** điều kiện bạn đặt, COUNTIFS đếm số dòng thoả các điều kiện đó: =SUMIFS(D2:D9; B2:B9; "Lan"; A2:A9; ">="&DATE(2026;10;1); A2:A9; "<"&DATE(2026;11;1)) ra doanh số của Lan trong tháng 10/2026. Điều kiện ngày phải viết bằng DATE hoặc trỏ tới ô ngày, không gõ ">=01/10/2026". Bài này đi qua cú pháp, điều kiện ngày tháng, ký tự đại diện, hai ví dụ thật (doanh số theo nhân viên và tháng, đếm việc quá hạn theo người), các lỗi khiến kết quả ra 0 và khác biệt với SUMIF, COUNTIF.

Bạn có một bảng nhập liệu dài: mỗi đơn hàng một dòng, mỗi việc một dòng. Thứ bạn cần thường là một con số rút ra từ bảng đó: Lan bán được bao nhiêu trong tháng 10, Minh còn bao nhiêu việc quá hạn. SUMIFS cộng cột tiền của những dòng khớp điều kiện; COUNTIFS đếm những dòng đó. Chữ S ở cuối nghĩa là nhận được nhiều điều kiện, và mọi điều kiện phải cùng đúng (phép VÀ).
Khi cần cả một bảng báo cáo (mọi nhân viên × mọi tháng, có sắp xếp, đổi tiêu đề), hàm QUERY gọn hơn — xem cách dùng hàm QUERY trong Google Sheets. Còn khi cần một vài con số đặt vào ô cố định của bảng tổng hợp, SUMIFS và COUNTIFS dễ đọc, dễ sửa và chạy được cả trên Excel.
=SUMIFS(dải_ô_tổng; dải_ô_tiêu_chí1; tiêu_chí1; [dải_ô_tiêu_chí2; tiêu_chí2; ...])=COUNTIFS(dải_ô_tiêu_chí1; tiêu_chí1; [dải_ô_tiêu_chí2; tiêu_chí2; ...])Mọi ví dụ phần đầu dùng bảng đơn hàng 8 dòng của một cửa hàng mỹ phẩm: cột A Ngày, B Nhân viên, C Sản phẩm, D Doanh số, dữ liệu ở dòng 2–9.
| A: Ngày | B: Nhân viên | C: Sản phẩm | D: Doanh số | |
|---|---|---|---|---|
| 2 | 03/09/2026 | Lan | Son lì đỏ | 1.200.000 |
| 3 | 15/09/2026 | Minh | Kem chống nắng | 800.000 |
| 4 | 02/10/2026 | Lan | Kem dưỡng ẩm | 1.500.000 |
| 5 | 05/10/2026 | Minh | Son dưỡng | 2.000.000 |
| 6 | 11/10/2026 | Lan | Son lì cam | 900.000 |
| 7 | 18/10/2026 | Hoa | Sữa rửa mặt | 600.000 |
| 8 | 31/10/2026 | Lan | Son lì đỏ | 1.100.000 |
| 9 | 01/11/2026 | Lan | Kem chống nắng | 700.000 |
| Câu hỏi | Công thức | Kết quả |
|---|---|---|
| Tổng doanh số của Lan | =SUMIFS(D2:D9; B2:B9; "Lan") | 5.400.000 |
| Lan bán Son lì đỏ được bao nhiêu | =SUMIFS(D2:D9; B2:B9; "Lan"; C2:C9; "Son lì đỏ") | 2.300.000 |
| Số đơn của Lan | =COUNTIFS(B2:B9; "Lan") | 5 |
| Số đơn từ 1 triệu trở lên của Lan | =COUNTIFS(B2:B9; "Lan"; D2:D9; ">=1000000") | 3 |
| Tổng các đơn từ 800 nghìn đến dưới 2 triệu | =SUMIFS(D2:D9; D2:D9; ">=800000"; D2:D9; "<2000000") | 5.500.000 |
Thử lại: Lan có 5 đơn ở dòng 2, 4, 6, 8, 9: 1.200.000 + 1.500.000 + 900.000 + 1.100.000 + 700.000 = 5.400.000. Son lì đỏ của Lan ở dòng 2 và 8: 1.200.000 + 1.100.000 = 2.300.000. Đơn từ 1 triệu của Lan là dòng 2, 4, 8, nên COUNTIFS ra 3. Dòng cuối dùng cùng một cột cho hai điều kiện để lấy khoảng: dòng 2, 3, 4, 6, 8 thoả, cộng ra 5.500.000.
Cột cộng cũng có thể là cột điều kiện, như dòng cuối của bảng. Điều kiện chữ không phân biệt hoa thường ("lan" khớp "Lan") nhưng phân biệt dấu ("Lân" không khớp "Lan").
Mọi dải ô phải cao bằng nhau
=SUMIFS(D2:D9; B2:B10; "Lan") báo lỗi vì cột tổng 8 dòng còn cột điều kiện 9 dòng. Cách an toàn: dùng cùng dòng bắt đầu và kết thúc cho mọi dải (D2:D9, B2:B9, A2:A9), hoặc để hở cả hai đầu như D2:D, B2:B, A2:A khi bảng còn thêm dòng.
Điều kiện là một chuỗi chữ đặt trong ngoặc kép. Toán tử đứng đầu chuỗi, giá trị đứng sau. Khi giá trị nằm ở một ô khác, bạn phải nối toán tử với ô bằng dấu &, vì Google không đọc địa chỉ ô nằm bên trong ngoặc kép.
| Muốn | Viết điều kiện | Ghi chú |
|---|---|---|
| Bằng | "Lan" hoặc G1 | Không cần dấu = ở đầu |
| Lớn hơn / nhỏ hơn | ">1000000", "<=500000" | Số viết liền, không dấu chấm nghìn |
| Khác | "<>Hoàn thành" | Mọi giá trị trừ Hoàn thành, kể cả ô trống |
| Ô không trống | "<>" | Đếm ô có dữ liệu |
| Ô trống | "" | Đếm ô chưa nhập |
| So với ô G1 | ">"&G1 | Sai: ">G1" — Google tìm chữ "G1" |
| So với hôm nay | "<"&TODAY() | Cập nhật mỗi ngày |
Thử lại: G1 = 1000000. =COUNTIFS(D2:D9; ">"&G1) đếm các đơn lớn hơn 1 triệu: dòng 2, 4, 5, 8, ra 4. Viết nhầm =COUNTIFS(D2:D9; ">G1") ra 0 mà không báo lỗi — đây là lỗi hay gặp nhất khi chuyển điều kiện từ gõ tay sang lấy từ ô.
"<>Hoàn thành" đếm cả dòng trống bên dưới
=COUNTIFS(D2:D; "<>Hoàn thành") trên một cột để hở sẽ đếm cả hàng trăm dòng trống chưa nhập. Thêm một điều kiện bắt buộc có dữ liệu, ví dụ =COUNTIFS(A2:A; "<>"; D2:D; "<>Hoàn thành").
Muốn cộng theo tháng, bạn đặt hai điều kiện lên cùng cột ngày: từ ngày đầu tháng và trước ngày đầu tháng sau. Ngày trong điều kiện viết bằng hàm DATE(năm; tháng; ngày) để Google hiểu đúng là ngày, không phụ thuộc file đang để định dạng ngày/tháng hay tháng/ngày.
=SUMIFS(D2:D9; B2:B9; "Lan"; A2:A9; ">="&DATE(2026;10;1); A2:A9; "<"&DATE(2026;11;1))Thử lại: đơn của Lan có ngày từ 01/10 đến trước 01/11 là dòng 4 (02/10), dòng 6 (11/10) và dòng 8 (31/10): 1.500.000 + 900.000 + 1.100.000 = 3.500.000. Dòng 2 (tháng 9) và dòng 9 (01/11) bị loại. Đổi SUMIFS thành COUNTIFS và bỏ cặp D2:D9 ở đầu thì ra 3 đơn.
Vì sao dùng "<" ngày đầu tháng sau thay vì "<=" ngày cuối tháng? Nếu cột ngày có cả giờ (dữ liệu từ Google Form, máy POS, file xuất từ phần mềm), đơn lúc 14:00 ngày 31/10 lớn hơn DATE(2026;10;31) — vốn là 0:00 — nên "<=" sẽ bỏ sót nó. "<" ngày 01/11 thì không bao giờ sót.
Bảng tổng theo nhân viên và tháng. Đặt tên nhân viên ở F2:F4 (Lan, Minh, Hoa) và ngày đầu tháng ở G1, H1 (01/09/2026, 01/10/2026 — có thể định dạng cho hiện "T9", "T10"). Viết một công thức ở G2 rồi kéo sang phải, kéo xuống:
=SUMIFS($D$2:$D$9; $B$2:$B$9; $F2; $A$2:$A$9; ">="&G$1; $A$2:$A$9; "<"&EDATE(G$1;1))
Thử lại: tháng 9 Lan có 1.200.000, Minh 800.000, Hoa không có đơn nên ra 0. Tháng 10: Lan 3.500.000, Minh 2.000.000 (dòng 5), Hoa 600.000 (dòng 7). Cộng cột tháng 10 ra 6.100.000, đúng bằng tổng 5 đơn tháng 10 trong bảng — kiểm tra kiểu này giúp bạn bắt lỗi công thức ngay.
| Muốn lọc | Cặp điều kiện trên cột ngày A |
|---|---|
| Một ngày cụ thể | A2:A; DATE(2026;10;20) |
| Từ một ngày trở đi | A2:A; ">="&DATE(2026;10;1) |
| Cả năm 2026 | A2:A; ">="&DATE(2026;1;1); A2:A; "<"&DATE(2027;1;1) |
| Tháng đang chạy | A2:A; ">="&EOMONTH(TODAY();-1)+1; A2:A; "<="&TODAY() |
| 7 ngày gần nhất (kể cả hôm nay) | A2:A; ">"&TODAY()-7; A2:A; "<="&TODAY() |
Ngày ở cột A phải là ngày thật (số), không phải chữ trông giống ngày. Mục lỗi ở dưới chỉ cách nhận ra; cách sửa cả cột có ở bài sửa lỗi ngày tháng trong Google Sheets.
Điều kiện chữ nhận ký tự đại diện: dấu sao (*) thay cho một chuỗi bất kỳ, kể cả rỗng; dấu hỏi (?) thay cho đúng một ký tự. Muốn tìm chính dấu * hay ? thì đặt dấu ~ trước nó.
| Công thức (bảng đơn hàng ở trên) | Khớp với | Kết quả |
|---|---|---|
| =SUMIFS(D2:D9; C2:C9; "Son*") | Son lì đỏ, Son dưỡng, Son lì cam, Son lì đỏ | 5.200.000 |
| =SUMIFS(D2:D9; C2:C9; "*đỏ") | Hai dòng Son lì đỏ | 2.300.000 |
| =COUNTIFS(C2:C9; "Kem*") | Kem chống nắng ×2, Kem dưỡng ẩm | 3 |
| =COUNTIFS(C2:C9; "*"&G2&"*") với G2 = chống nắng | Mọi sản phẩm có chữ "chống nắng" | 2 |
Thử lại: "Son*" khớp dòng 2, 5, 6, 8: 1.200.000 + 2.000.000 + 900.000 + 1.100.000 = 5.200.000. Dòng cuối là cách làm ô tìm kiếm: gõ một phần tên vào G2, công thức đếm mọi dòng chứa chữ đó.
Ký tự đại diện chỉ dùng với điều kiện chữ
"Son*" có thể khớp nhầm sản phẩm khác bắt đầu bằng "Son" mà bạn không để ý. Khi danh sách tên cố định (nhân viên, nhóm hàng), dùng danh sách thả xuống để mọi người gõ giống nhau thay vì dựa vào dấu * — xem cách tạo danh sách thả xuống trong Google Sheets.
SUMIFS chỉ hiểu phép VÀ. Muốn "Lan hoặc Minh", cộng hai SUMIFS lại, hoặc đưa danh sách điều kiện vào trong ngoặc nhọn rồi bọc SUM:
=SUMIFS(D2:D9; B2:B9; "Lan") + SUMIFS(D2:D9; B2:B9; "Minh")=SUM(ARRAYFORMULA(SUMIFS(D2:D9; B2:B9; {"Lan"; "Minh"})))Thử lại: Lan 5.400.000 + Minh 2.800.000 (dòng 3 và 5) = 8.200.000, bằng tổng bảng 8.800.000 trừ đơn 600.000 của Hoa. Đừng viết hai điều kiện "Lan" và "Minh" lên cùng cột B trong một SUMIFS: không dòng nào vừa là Lan vừa là Minh, nên ra 0.
Ví dụ thứ hai là bảng việc của một nhóm 3 người: cột A Việc, B Người, C Hạn, D Trạng thái (Chưa bắt đầu, Đang làm, Bị chặn, Hoàn thành). Việc quá hạn là việc có hạn trước hôm nay và chưa Hoàn thành. Tên người đặt ở F2:F4, công thức ở G2 kéo xuống:
=COUNTIFS($B$2:$B$9; F2; $C$2:$C$9; "<"&TODAY(); $D$2:$D$9; "<>Hoàn thành")
Thử lại với hôm nay là 20/10/2026: Lan có báo giá hạn 15/10 (Đang làm) và chốt sổ hạn 10/10 (Chưa bắt đầu) → 2; việc kiểm kho hạn đúng 20/10 không tính vì "<" hôm nay. Minh có slide hạn 12/10 đang Bị chặn → 1; bài Facebook hạn 18/10 đã Hoàn thành, họp hạn 22/10 chưa tới. Hoa có hợp đồng hạn 19/10 → 1; việc thu nợ chưa điền hạn nên không được đếm — ô trống không bao giờ thoả điều kiện so sánh với ngày.
Hai biến thể hay dùng cùng bảng này:
=COUNTIFS($B$2:$B$9; F2; $C$2:$C$9; ">="&TODAY(); $C$2:$C$9; "<="&TODAY()+3; $D$2:$D$9; "<>Hoàn thành")=COUNTIFS($B$2:$B$9; F2; $D$2:$D$9; "<>Hoàn thành"; $C$2:$C$9; "")Cách tổ chức bảng việc cho cả nhóm (cột nào nên có, trạng thái nào nên dùng) có ở bài quản lý công việc nhóm bằng Google Sheets. Muốn ô kết quả đổi màu khi số việc quá hạn lớn hơn 0, ghép thêm hàm IF như trong bài hàm IF nhiều điều kiện.
SUMIFS và COUNTIFS gần như không báo lỗi khi điều kiện sai — chúng chỉ trả về 0 hoặc một con số nhỏ hơn thật. Vì vậy hãy luôn đối chiếu với một tổng bạn biết trước, như cách cộng cột tháng 10 ở trên.

| Triệu chứng | Nguyên nhân | Cách sửa |
|---|---|---|
| Lọc theo ngày ra 0 hoặc thiếu | Ngày là chữ (dán từ file khác, nằm sát trái ô). Chữ không bao giờ thoả ">="&DATE(...) | =ISNUMBER(A8) ra FALSE là chữ; =COUNT(A2:A9) nhỏ hơn số dòng là có ô chữ. Đổi về ngày thật |
| Cộng tiền ra 0 | Cột tiền là số dạng chữ ("1.100.000" dán từ web). SUMIFS bỏ qua ô chữ | Xem sửa lỗi SUM bằng 0 |
| Ra 0 khi điều kiện lấy từ ô | Viết ">G1" thay vì ">"&G1 | Đưa ô ra ngoài ngoặc kép, nối bằng & |
| Thiếu vài dòng của một người | Tên gõ khác nhau: "Lan " có dấu cách cuối, "Lân", "Ng. Lan" | Dùng danh sách thả xuống; cắt khoảng trắng thừa ở cột tên |
| Ra 0 khi gõ ngày thẳng | ">=01/10/2026" bị hiểu theo định dạng của file, có thể thành 10 tháng 1 | Luôn dùng DATE(2026;10;1) hoặc trỏ tới ô ngày |
| Báo lỗi phân tích cú pháp | Dùng dấu phẩy khi file đặt khu vực Việt Nam | Đổi "," giữa các đối số thành ";" |
| Báo lỗi kích thước | Các dải ô không cao bằng nhau (D2:D9 với B2:B10) | Sửa cho cùng dòng đầu, dòng cuối |
Dấu ; hay dấu ,? Google Sheets chọn dấu phân cách đối số theo khu vực của file. File đặt khu vực Việt Nam dùng dấu phẩy làm dấu thập phân, nên đối số phải cách bằng dấu chấm phẩy: =SUMIFS(D2:D9; B2:B9; "Lan"). Công thức chép từ trang tiếng Anh thường viết =SUMIFS(D2:D9, B2:B9, "Lan") — dán vào file Việt Nam sẽ báo lỗi, chỉ cần thay dấu phẩy giữa các đối số bằng chấm phẩy. Khu vực của file đổi trong phần cài đặt bảng tính ở menu Tệp.
Khi bảng có dòng trùng (một đơn bị nhập hai lần), SUMIFS sẽ cộng cả hai và tổng bị đội lên. Dọn trùng trước khi tổng hợp theo bài lọc dữ liệu trùng lặp trong Google Sheets.
| SUMIF / COUNTIF | SUMIFS / COUNTIFS | |
|---|---|---|
| Số điều kiện | Một | Một hoặc nhiều (VÀ) |
| Thứ tự đối số SUMIF(S) | =SUMIF(dải_ô; tiêu_chí; dải_ô_tổng) — cột cộng đứng cuối | =SUMIFS(dải_ô_tổng; dải_ô_tiêu_chí; tiêu_chí) — cột cộng đứng đầu |
| Bỏ cột cộng | SUMIF cộng luôn cột điều kiện | Không bỏ được |
| Ví dụ (bảng đơn hàng) | =SUMIF(B2:B9; "Lan"; D2:D9) → 5.400.000 | =SUMIFS(D2:D9; B2:B9; "Lan") → 5.400.000 |
| Có trên Excel | Mọi bản | Từ Excel 2007 |
Lỗi hay gặp nhất khi chuyển từ SUMIF sang SUMIFS là giữ nguyên thứ tự đối số: =SUMIFS(B2:B9; "Lan"; D2:D9) báo lỗi vì đối số thứ hai phải là một dải ô. Lời khuyên đơn giản: luôn dùng SUMIFS và COUNTIFS, kể cả khi chỉ có một điều kiện. Thêm điều kiện thứ hai sau này chỉ là gõ tiếp một cặp, không phải đảo đối số.
Cần lấy một giá trị (tên khách, giá sản phẩm) theo mã thay vì cộng thì dùng hàm tra cứu — xem cách dùng hàm XLOOKUP trong Google Sheets. SUMIFS cũng "tra" được số khi mã là duy nhất, nhưng không thấy mã thì ra 0 thay vì báo lỗi, rất dễ lọt qua mắt.
Một file bán hàng tự làm thường có tab Đơn hàng (mỗi dòng một món), tab Báo cáo với các ô SUMIFS theo nhân viên, nhóm hàng, tháng. Ba thói quen giúp các con số luôn đúng: ngày luôn nhập bằng ngày thật, tên nhân viên và nhóm hàng chọn từ danh sách, và mỗi bảng báo cáo có một ô tổng để đối chiếu với tổng tab Đơn hàng. Cách bố trí các tab có ở bài quản lý bán hàng bằng Google Sheets.
Thường do một trong bốn lý do: cột ngày hoặc cột tiền là chữ chứ không phải số; điều kiện lấy từ ô nhưng viết ">G1" thay vì ">"&G1; tên trong bảng có dấu cách thừa hoặc khác dấu; hoặc đặt hai điều kiện loại trừ nhau trên cùng một cột (Lan và Minh). Thử bỏ từng điều kiện một để tìm điều kiện làm kết quả về 0.
Đặt hai điều kiện lên cột ngày: ">="&DATE(2026;10;1) và "<"&DATE(2026;11;1). Nếu ngày đầu tháng nằm ở ô G1 thì dùng ">="&G1 và "<"&EDATE(G1;1). Cách này không sót đơn có giờ trong ngày cuối tháng.
Không trực tiếp, vì mọi điều kiện phải cùng đúng. Cộng hai SUMIFS lại, hoặc dùng =SUM(ARRAYFORMULA(SUMIFS(D2:D9; B2:B9; {"Lan"; "Minh"}))).
Có: điều kiện "" đếm ô trống, "<>" đếm ô có dữ liệu. Chú ý điều kiện "<>Hoàn thành" cũng đếm ô trống, nên trên cột để hở (D2:D) hãy thêm điều kiện cột tên việc khác trống.
Tuỳ khu vực của file. File đặt khu vực Việt Nam dùng dấu ; giữa các đối số. Công thức chép từ trang tiếng Anh dùng dấu , thì cần đổi lại, nếu không sẽ báo lỗi phân tích cú pháp.
Không: "lan" và "LAN" đều khớp "Lan". Nhưng có phân biệt dấu tiếng Việt và khoảng trắng: "Lân" hay "Lan " (dấu cách cuối) đều không khớp.
Mẫu khác liên quan: Bảng theo dõi công việc PRO.
Google Sheets hay Excel: so chi phí, làm chung, dùng trên điện thoại, khi mất mạng, giới hạn dữ liệu, Apps Script với VBA và các công thức khác nhau.
Cách dùng hàm FILTER trong Google Sheets: lọc 1 hay nhiều điều kiện AND/OR, theo ngày, chữ chứa, kết hợp SORT, UNIQUE và sửa lỗi không tìm thấy kết quả.
Cách dùng hàm XLOOKUP trong Google Sheets: gõ mã khách ra tên, SĐT, hạng; tra sang trái, giá trị khi không thấy, khớp gần đúng, sửa lỗi #N/A.
Cách tạo biểu đồ trong Google Sheets: chọn loại cột, đường, tròn, kết hợp, cột chồng; trục phụ, đổi màu, nhãn, biểu đồ tự cập nhật, SPARKLINE và lỗi hay gặp.
Xem thêm mẹo và video hướng dẫn trên kênh YouTube HiTaVa, hoặc đọc các bài khác trong chủ đề Mẹo Google Sheets.
Cần hỏi thêm?Zalo 0935077673 (Hải Vân)