Bạn đang lồng 3-4 hàm SUMIF để tính tổng doanh thu theo khu vực và sản phẩm? Hàm SUMIFS làm được điều đó trong một công thức duy nhất. Thay vì viết =SUMIF(A:A,"Miền Nam",C:C)+SUMIF(B:B,"Sản phẩm A",C:C)
, bạn chỉ cần =SUMIFS(C:C,A:A,"Miền Nam",B:B,"Sản phẩm A")
. Công thức ngắn hơn, chính xác hơn, và tính toán nhanh hơn gấp 10 lần.
Cú Pháp Hàm SUMIFS
Hàm SUMIFS tính tổng các giá trị thỏa mãn tất cả điều kiện được chỉ định. Khác với SUMIF chỉ hỗ trợ một điều kiện, SUMIFS cho phép đến 127 điều kiện cùng lúc.
Cú pháp chuẩn:
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
Các tham số:
sum_range
: Phạm vi chứa các số cần tính tổng (bắt buộc)criteria_range1
: Phạm vi đầu tiên để kiểm tra điều kiện (bắt buộc)criteria1
: Điều kiện áp dụng cho criteria_range1 (bắt buộc)criteria_range2, criteria2
: Các cặp phạm vi và điều kiện bổ sung (tùy chọn)
Điểm quan trọng: Tất cả các criteria_range phải có cùng số hàng và cột với sum_range. Nếu không khớp, Excel báo lỗi #VALUE!.
Tính Tổng Với Hai Điều Kiện
Trường hợp phổ biến nhất là tính tổng dựa trên hai tiêu chí. Giả sử bạn có bảng dữ liệu bán hàng với cột Khu Vực, Sản Phẩm và Doanh Thu. Muốn tính tổng doanh thu của Sản phẩm A ở Miền Nam.
Dữ liệu mẫu:
A2:A10 = Khu vực (Miền Bắc, Miền Nam, Miền Trung)
B2:B10 = Sản phẩm (Sản phẩm A, B, C)
C2:C10 = Doanh thu (các giá trị số)
Công thức:
=SUMIFS(C2:C10, A2:A10, "Miền Nam", B2:B10, "Sản phẩm A")
Excel quét qua từng dòng, chỉ cộng doanh thu khi cả hai điều kiện đều đúng. Nếu dòng 5 có Miền Nam nhưng Sản phẩm B, Excel bỏ qua. Nếu dòng 7 có Sản phẩm A nhưng Miền Bắc, Excel cũng bỏ qua. Chỉ các dòng thỏa mãn cả hai mới được tính.
Sử Dụng Toán Tử So Sánh
Hàm SUMIFS hỗ trợ toán tử so sánh cho điều kiện số. Bạn có thể tính tổng các giá trị lớn hơn, nhỏ hơn, hoặc nằm trong khoảng cụ thể.
Các toán tử hợp lệ:
">"
(lớn hơn)">="
(lớn hơn hoặc bằng)"<"
(nhỏ hơn)"<="
(nhỏ hơn hoặc bằng)"<>"
(khác)
Ví dụ thực tế: Tính tổng lương nhân viên bộ phận Kỹ Thuật có mức lương trên 5 triệu.
=SUMIFS(D2:D20, C2:C20, "Kỹ Thuật", D2:D20, ">5000000")
Lưu ý toán tử phải nằm trong dấu ngoặc kép. Nếu bạn viết >5000000
không có dấu ngoặc, Excel báo lỗi. Cách đúng là ">5000000"
.
Tính tổng trong khoảng: Muốn tính tổng doanh số từ 10 triệu đến 50 triệu, bạn kết hợp hai điều kiện trên cùng một phạm vi.
=SUMIFS(E2:E100, E2:E100, ">=10000000", E2:E100, "<=50000000")
Tôi thường dùng kỹ thuật này để phân tích doanh thu theo phân khúc. Thay vì lọc thủ công, một công thức tự động cập nhật khi dữ liệu thay đổi.
Tham Chiếu Ô Trong Điều Kiện
Thay vì gõ cứng giá trị trong công thức, bạn nên tham chiếu đến ô chứa điều kiện. Cách này linh hoạt hơn khi cần thay đổi tiêu chí.
Ví dụ: Ô F2 chứa tên khu vực, ô G2 chứa tên sản phẩm cần tìm.
=SUMIFS(C2:C100, A2:A100, F2, B2:B100, G2)
Khi thay đổi giá trị trong F2 hoặc G2, kết quả tự động cập nhật. Không cần sửa công thức.
Kết hợp với toán tử: Nếu muốn tham chiếu ô trong điều kiện so sánh, dùng ký tự &
.
=SUMIFS(D2:D50, D2:D50, ">"&H2)
Ô H2 chứa giá trị ngưỡng, ví dụ 5000000. Công thức sẽ tính tổng các giá trị lớn hơn số trong H2. Đừng viết ">H2"
vì Excel hiểu đó là chuỗi văn bản, không phải tham chiếu ô.
Điều Kiện Ngày Tháng
Hàm SUMIFS xử lý điều kiện ngày tháng hiệu quả. Bạn có thể tính tổng theo tháng, quý, hoặc khoảng thời gian cụ thể.
Tính tổng theo tháng: Giả sử cột A chứa ngày giao dịch, muốn tính tổng doanh thu tháng 3 năm 2025.
=SUMIFS(C2:C500, A2:A500, ">=1/3/2025", A2:A500, "<=31/3/2025")
Excel hiểu định dạng ngày theo chuẩn của hệ thống. Nếu bạn dùng định dạng dd/mm/yyyy, viết ">=01/03/2025"
.
Sử dụng hàm DATE: Cách an toàn hơn là dùng hàm DATE để tránh nhầm lẫn định dạng.
=SUMIFS(C2:C500, A2:A500, ">="&DATE(2025,3,1), A2:A500, "<="&DATE(2025,3,31))
Công thức này hoạt động ổn định trên mọi phiên bản Excel bất kể cài đặt vùng miền.
Tính tổng theo năm: Muốn tổng doanh thu năm 2025, dùng điều kiện từ đầu đến cuối năm.
=SUMIFS(C2:C500, A2:A500, ">="&DATE(2025,1,1), A2:A500, "<="&DATE(2025,12,31))
Tôi thường tạo bảng tổng hợp theo tháng với 12 công thức SUMIFS. Mỗi khi thêm dữ liệu mới, báo cáo tự động cập nhật mà không cần can thiệp thủ công.
Ký Tự Đại Diện Trong SUMIFS
Ký tự đại diện giúp tìm kiếm linh hoạt khi điều kiện không chính xác hoàn toàn. Hàm SUMIFS hỗ trợ hai ký tự đại diện chính.
Dấu sao *
: Đại diện cho nhiều ký tự bất kỳ.
=SUMIFS(C2:C100, B2:B100, "Sản phẩm*")
Công thức này tính tổng tất cả dòng có tên sản phẩm bắt đầu bằng “Sản phẩm” (Sản phẩm A, Sản phẩm B, Sản phẩm XYZ đều hợp lệ).
Dấu hỏi ?
: Đại diện cho đúng một ký tự.
=SUMIFS(C2:C100, A2:A100, "Miền ?ắc")
Công thức khớp với “Miền Bắc”, “Miền Tắc” nhưng không khớp “Miền Nam” (vì sau “Miền” có nhiều hơn một ký tự trước “ắc”).
Ví dụ thực tế: Tính tổng doanh thu các sản phẩm có mã chứa “VN”.
=SUMIFS(D2:D200, B2:B200, "*VN*")
Công thức này tìm mã sản phẩm như “SP-VN-001”, “VN-2025-XYZ”, “PROD-VN-A” đều hợp lệ vì chứa “VN” ở bất kỳ vị trí nào.
Tìm ký tự đặc biệt: Nếu bạn cần tìm chính xác dấu sao hoặc dấu hỏi, thêm dấu ngã ~
phía trước.
=SUMIFS(C2:C50, B2:B50, "Sản phẩm~*")
Công thức này chỉ khớp chính xác chuỗi “Sản phẩm*”, không phải mọi sản phẩm bắt đầu bằng “Sản phẩm”.
Kết Hợp Nhiều Điều Kiện Phức Tạp
Hàm SUMIFS cho phép đến 127 cặp điều kiện, nhưng thực tế 3-5 điều kiện là đủ cho hầu hết trường hợp.
Ví dụ 5 điều kiện: Tính tổng doanh thu của:
- Khu vực: Miền Nam
- Sản phẩm: Bắt đầu bằng “SP”
- Doanh số: Từ 10 đến 50 triệu
- Tháng: Tháng 3/2025
- Trạng thái: Đã thanh toán
=SUMIFS(F2:F500, A2:A500, "Miền Nam", B2:B500, "SP*", F2:F500, ">=10000000", F2:F500, "<=50000000", C2:C500, ">="&DATE(2025,3,1), C2:C500, "<="&DATE(2025,3,31), G2:G500, "Đã thanh toán")
Công thức dài nhưng logic rõ ràng. Mỗi cặp criteria_range và criteria kiểm tra một điều kiện. Excel chỉ cộng những dòng thỏa mãn tất cả 7 điều kiện (lưu ý doanh số có 2 điều kiện nên tổng là 7 điều kiện).
Mẹo viết công thức dài: Khi công thức quá dài, nhấn Alt + Enter sau mỗi điều kiện để xuống dòng trong formula bar. Excel vẫn hiểu công thức nhưng dễ đọc hơn.
Xử Lý Lỗi Thường Gặp
Lỗi #VALUE!: Xuất hiện khi kích thước các phạm vi không khớp.
=SUMIFS(C2:C100, A2:A100, "Miền Nam", B2:B50, "Sản phẩm A")
Lỗi vì A2:A100 có 99 dòng nhưng B2:B50 chỉ có 49 dòng. Sửa bằng cách đảm bảo tất cả phạm vi có cùng kích thước: C2:C100, A2:A100, B2:B100.
Lỗi #DIV/0!: Hiếm gặp với SUMIFS, nhưng có thể xảy ra nếu bạn chia kết quả SUMIFS cho 0. Dùng IFERROR để xử lý.
=IFERROR(SUMIFS(C2:C100, A2:A100, F2) / G2, 0)
Không có kết quả: Nếu SUMIFS trả về 0 nhưng bạn chắc chắn có dữ liệu thỏa điều kiện, kiểm tra:
- Khoảng trắng thừa trong ô (dùng hàm TRIM để loại bỏ)
- Định dạng số lưu dạng text (dùng VALUE để chuyển đổi)
- Chính tả điều kiện không khớp chính xác
Ô trống trong criteria_range: SUMIFS bỏ qua ô trống, không báo lỗi. Nếu muốn đếm cả ô trống, dùng điều kiện ""
.
=SUMIFS(C2:C100, B2:B100, "")
Công thức này tính tổng các dòng có cột B trống.
So Sánh SUMIFS Và SUMIF
Nhiều người vẫn dùng SUMIF khi chỉ có một điều kiện. Cả hai đều hoạt động, nhưng có sự khác biệt quan trọng về cú pháp.
SUMIF:
=SUMIF(range, criteria, [sum_range])
Tham số sum_range là tùy chọn. Nếu bỏ qua, Excel tính tổng chính range.
SUMIFS:
=SUMIFS(sum_range, criteria_range1, criteria1, ...)
Tham số sum_range bắt buộc và phải đứng đầu tiên. Đây là sự khác biệt lớn nhất giữa hai hàm.
Ví dụ so sánh: Tính tổng doanh thu Miền Nam.
Dùng SUMIF:
=SUMIF(A2:A100, "Miền Nam", C2:C100)
Dùng SUMIFS:
=SUMIFS(C2:C100, A2:A100, "Miền Nam")
Cả hai cho kết quả giống nhau, nhưng SUMIFS có sum_range ở đầu. Khi chuyển đổi từ SUMIF sang SUMIFS để thêm điều kiện, đừng quên đảo vị trí tham số.
Hiệu suất: Với một điều kiện, SUMIF nhanh hơn một chút. Nhưng khi có từ 2 điều kiện trở lên, SUMIFS vượt trội hoàn toàn so với việc lồng nhiều SUMIF.
Thực Hành Với Dữ Liệu Thực
File Excel 100MB với 50,000 dòng dữ liệu bán hàng. Trước đây tôi dùng Pivot Table để phân tích, mất 5-10 giây mỗi lần refresh. Giờ dùng SUMIFS với các báo cáo tự động, kết quả hiện ngay lập tức.
Bảng tổng hợp theo khu vực và sản phẩm: Tạo bảng 3×3 với khu vực theo hàng, sản phẩm theo cột. Mỗi ô chứa một công thức SUMIFS tham chiếu đến tiêu đề hàng và cột.
=SUMIFS($C$2:$C$50000, $A$2:$A$50000, $F3, $B$2:$B$50000, G$2)
Ô F3 chứa tên khu vực, ô G2 chứa tên sản phẩm. Dấu $ giữ phạm vi dữ liệu cố định, cho phép copy công thức xuống dưới và sang phải.
Báo cáo doanh thu theo tháng: Tạo cột tháng từ 1 đến 12. Mỗi ô tính tổng doanh thu tháng đó.
=SUMIFS($C$2:$C$50000, $D$2:$D$50000, ">="&DATE(2025,F3,1), $D$2:$D$50000, "<="&EOMONTH(DATE(2025,F3,1),0))
Hàm EOMONTH trả về ngày cuối tháng, đảm bảo công thức hoạt động với mọi tháng (28, 29, 30 hoặc 31 ngày).
Những Điều Cần Lưu Ý
SUMIFS không phân biệt chữ hoa chữ thường. “miền nam”, “Miền Nam”, “MIỀN NAM” đều được coi là giống nhau. Nếu cần so sánh chính xác, dùng SUMPRODUCT với hàm EXACT.
Tất cả điều kiện trong SUMIFS kết hợp bởi logic VÀ (AND). Nếu bạn cần logic HOẶC (OR), giải pháp là cộng nhiều SUMIFS lại với nhau.
=SUMIFS(C2:C100, A2:A100, "Miền Nam") + SUMIFS(C2:C100, A2:A100, "Miền Bắc")
Công thức này tính tổng doanh thu của Miền Nam HOẶC Miền Bắc.
SUMIFS yêu cầu phạm vi thực tế, không hỗ trợ mảng. Bạn không thể dùng hàm YEAR trực tiếp trong criteria_range như YEAR(A2:A100)
. Thay vào đó, tạo cột phụ trích xuất năm, sau đó dùng SUMIFS trên cột đó.
Hàm hoạt động trên Excel 2007 trở lên, bao gồm Excel 365, 2016, 2019, 2021. Nếu bạn mở file chứa SUMIFS trên Excel 2003, công thức báo lỗi #NAME?.
Kết Quả Sau Một Tuần
Báo cáo doanh số tự động cập nhật mỗi khi thêm dữ liệu mới. Không còn phải lọc thủ công hoặc tạo Pivot Table. Thời gian phân tích giảm từ 2 giờ xuống 5 phút mỗi ngày. File Excel 100MB tính toán trong 1-2 giây thay vì 10 giây như dùng Pivot Table.
Hàm SUMIFS là công cụ mạnh mẽ cho phân tích dữ liệu với nhiều điều kiện. Bắt đầu với các ví dụ đơn giản hai điều kiện, sau đó mở rộng sang các trường hợp phức tạp hơn. Khi nắm vững ký tự đại diện và điều kiện ngày tháng, bạn có thể xử lý hầu hết các tình huống phân tích trong Excel mà không cần công cụ khác.