hitava

Mẹo Google Sheets · 16 phút đọc

Hàm SUMIFS và COUNTIFS trong Google Sheets: cộng, đếm theo nhiều điều kiện, theo tháng và sửa lỗi ra 0

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.

Đăng HiTaVaSUMIFSCOUNTIFSCông thứcGoogle Sheets
Công thức SUMIFS tô 4 màu: cột cộng D2:D9, điều kiện nhân viên Lan, từ 01/10 và trước 01/11/2026; bảng 8 đơn hàng tô vàng 3 đơn của Lan tháng 10, kết quả 3.500.000 và COUNTIFS 3 đơn

SUMIFS và COUNTIFS là gì, dùng khi nào

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À).

SUMIFS
Cộng cột tiền khi mọi điều kiện cùng đúng
COUNTIFS
Đếm số dòng khi mọi điều kiện cùng đúng
Điều kiện ngày
">="&DATE(2026;10;1) — nối toán tử với ngày
Không có dòng nào khớp
Ra 0, không báo lỗi

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.

Cú pháp hàm SUMIFS và COUNTIFS

Cột cần cộng đứng ĐẦU, sau đó là từng cặp (cột điều kiện; điều kiện).
=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 không có cột cộng, chỉ có các cặp điều kiện.
=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àyB: Nhân viênC: Sản phẩmD: Doanh số
203/09/2026LanSon lì đỏ1.200.000
315/09/2026MinhKem chống nắng800.000
402/10/2026LanKem dưỡng ẩm1.500.000
505/10/2026MinhSon dưỡng2.000.000
611/10/2026LanSon lì cam900.000
718/10/2026HoaSữa rửa mặt600.000
831/10/2026LanSon lì đỏ1.100.000
901/11/2026LanKem chống nắng700.000
Câu hỏiCông thứcKế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.

Viết điều kiện: so sánh số, khác, ô trống, lấy từ ô khác

Đ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ốnViết điều kiệnGhi chú
Bằng"Lan" hoặc G1Khô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">"&G1Sai: ">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").

SUMIFS theo tháng: điều kiện ngày tháng với DATE và EDATE

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.

Doanh số của Lan trong tháng 10/2026.
=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:

EDATE(G$1;1) là ngày đầu tháng sau. $F2 khoá cột tên, G$1 khoá dòng tháng, nên kéo theo cả hai chiều vẫn đú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))
Bảng 8 đơn hàng, 3 đơn của Lan tháng 10 tô vàng, đơn tháng 9 và 01/11 làm mờ; bảng tổng F1:H4 gồm Lan 1.200.000 và 3.500.000, Minh 800.000 và 2.000.000, Hoa 0 và 600.000
Một công thức kéo ra cả bảng: mỗi ô cộng đơn của đúng người, đúng tháng.

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ọcCặ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ở điA2:A; ">="&DATE(2026;10;1)
Cả năm 2026A2:A; ">="&DATE(2026;1;1); A2:A; "<"&DATE(2027;1;1)
Tháng đang chạyA2: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()
EOMONTH(TODAY();-1) là ngày cuối tháng trước, cộng 1 ra ngày đầu tháng này.

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.

Ký tự đại diện * và ? trong SUMIFS, COUNTIFS

Đ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ớiKế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 ẩm3
=COUNTIFS(C2:C9; "*"&G2&"*") với G2 = chống nắngMọ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.

Nhiều điều kiện kiểu HOẶC (Lan hoặc Minh)

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:

Dễ đọc nhất khi chỉ có 2–3 lựa chọn.
=SUMIFS(D2:D9; B2:B9; "Lan") + SUMIFS(D2:D9; B2:B9; "Minh")
SUMIFS chạy một lần cho mỗi tên trong ngoặc nhọn, SUM cộng các kết quả lại.
=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.

COUNTIFS đếm việc quá hạn theo người

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:

Ba điều kiện: đúng người, hạn trước hôm nay, trạng thái khác Hoàn thành.
=COUNTIFS($B$2:$B$9; F2; $C$2:$C$9; "<"&TODAY(); $D$2:$D$9; "<>Hoàn thành")
Bảng 8 việc với cột Người, Hạn, Trạng thái; 4 việc quá hạn tô đỏ; bảng đếm F1:G4 cho Lan 2, Minh 1, Hoa 1 với công thức COUNTIFS ở thanh công thức, hôm nay 20/10/2026
Việc đã xong, việc chưa tới hạn, việc hạn đúng hôm nay và việc chưa có hạn đều không bị đếm.

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:

Việc sắp tới hạn trong 3 ngày tới (kể cả hôm nay) của từng người. Với Lan ra 1 (kiểm kho), Minh ra 1 (họp 22/10).
=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")
Việc chưa xong mà chưa có hạn — đáng nhắc người phụ trách điền hạn. Với Hoa ra 1 (thu nợ đại lý).
=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 ra 0 hoặc sai: lỗi hay gặp và cách sửa

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.

Bảng đơn hàng có ô A8 31/10/2026 nằm sát trái tô đỏ vì là chữ; doanh số Lan tháng 10 ra 2.400.000 thay vì 3.500.000; ISNUMBER(A8) ra FALSE, COUNT(A2:A9) ra 7 trên 8 dòng
Chỉ một ô ngày dạng chữ là SUMIFS thiếu 1.100.000 mà không có cảnh báo nào.
Triệu chứngNguyên nhânCách sửa
Lọc theo ngày ra 0 hoặc thiếuNgà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 0Cộ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ườiTê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 1Luôn dùng DATE(2026;10;1) hoặc trỏ tới ô ngày
Báo lỗi phân tích cú phápDù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ướcCá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.

SUMIFS khác SUMIF, COUNTIFS khác COUNTIF thế nào

SUMIF / COUNTIFSUMIFS / COUNTIFS
Số điều kiệnMộtMộ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ộngSUMIF cộng luôn cột điều kiệnKhô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 ExcelMọi bảnTừ 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.

Dùng SUMIFS trong báo cáo bán hàng thậ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.

Câu hỏi thường gặp về SUMIFS và COUNTIFS

Vì sao hàm SUMIFS ra 0?

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.

SUMIFS theo tháng viết thế nào?

Đặ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.

SUMIFS có dùng điều kiện HOẶC được khô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"}))).

COUNTIFS có đếm ô trống không?

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.

Google Sheets dùng dấu ; hay dấu , trong SUMIFS?

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.

SUMIFS có phân biệt chữ hoa, chữ thường không?

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.

Đọc tiếp

Nguồn tham khảo

Mẫu làm sẵn cho việc này

Mẫu khác liên quan: Bảng theo dõi công việc PRO.

Đọc tiế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)