Hàm SUBTOTAL trong Excel giải quyết trực tiếp vấn đề mà SUM truyền thống bó tay: tính tổng trên dữ liệu đã lọc. Microsoft hỗ trợ 22 chức năng thống kê từ AVERAGE đến VARP, trong đó mã 9 và 109 đều là SUM nhưng xử lý hàng ẩn thủ công theo hai cách khác nhau — đây là điểm then chốt quyết định kết quả báo cáo của bạn.

Số chức năng hỗ trợ: 22 (1-11 và 101-111) ·
Phạm vi áp dụng: Dữ liệu dọc, không hỗ trợ ngang ·
Ưu điểm chính: Tự động bỏ qua hàng ẩn khi lọc ·
Mã phổ biến: 9 (SUM) và 109 (SUM bỏ ẩn thủ công) ·
Nguồn chính thức: Microsoft Support

Tổng quan nhanh

1Thông tin đã xác nhận
  • Hàm SUBTOTAL dùng cho cột dữ liệu dọc, hỗ trợ 22 chức năng (Microsoft Support)
  • Mã 9 và 109 đều thực hiện phép SUM — khác biệt nằm ở cách xử lý hàng ẩn thủ công (Microsoft Support)
  • SUBTOTAL bỏ qua các SUBTOTAL lồng nhau để tránh tính trùng (Blog Hocexcel)
2Điều chưa rõ
  • Hiệu suất xử lý với bộ dữ liệu lớn (hơn 10.000 hàng) chưa được đo lường chi tiết
  • Không có tài liệu chính thức về giới hạn đệ quy khi lồng nhiều SUBTOTAL
3Tín hiệu thời gian
  • Hàm SUBTOTAL có từ Excel 2007 trở lên (Blog Hocexcel)
  • Microsoft liên tục cập nhật tài liệu hỗ trợ các phiên bản mới (Blog Hocexcel)
4Bước tiếp theo
  • Tìm hiểu cú pháp chi tiết và ví dụ thực tế để áp dụng ngay vào công việc
  • So sánh trực tiếp mã 9 và 109 để chọn đúng cho từng tình huống

Hàm SUBTOTAL là gì?

Theo định nghĩa từ tài liệu hỗ trợ chính thức của Microsoft, hàm SUBTOTAL trả về tổng phụ trong danh sách hoặc cơ sở dữ liệu. Khác với hàm SUM thông thường, SUBTOTAL có khả năng tự động bỏ qua các giá trị bị ẩn do lọc — đây là tính năng then chốt khi bạn cần thống kê trên dữ liệu đã được Filter.

Định nghĩa cơ bản

Cú pháp hàm SUBTOTAL là =SUBTOTAL(function_num, ref1,,…), trong đó function_num xác định chức năng thống kê và ref là phạm vi dữ liệu. Bạn có thể sử dụng tối đa 254 đối số tham chiếu theo tài liệu từ Vietda. Ref1 là bắt buộc, các ref tiếp theo là tùy chọn.

Lưu ý của biên tập

Excel tự động gợi ý danh sách function_num khi bạn nhập “=SUBTOTAL(” — bạn không cần nhớ mã nào tương ứng chức năng gì.

Các chức năng chính

Bảng function_num từ Microsoft cho thấy có hai nhóm mã: 1-11 bao gồm hàng ẩn thủ công, còn 101-111 loại trừ chúng. Cụ thể, theo Microsoft Support:

Chức năng Nhóm
1 AVERAGE (Trung bình) 1-11
2 COUNT (Đếm số) 1-11
3 COUNTA (Đếm không trống) 1-11
4 MAX (Giá trị lớn nhất) 1-11
5 MIN (Giá trị nhỏ nhất) 1-11
9 SUM (Tổng) 1-11
109 SUM (Tổng) 101-111

Điểm mấu chốt: cả mã 9 và 109 đều thực hiện phép tính tổng, nhưng 9 bao gồm hàng ẩn thủ công (Ctrl+9), còn 109 loại trừ chúng. Cả hai đều bỏ qua hàng bị lọc ra theo thông tin từ Blog Hocexcel.

Subtotal khác gì với SUM?

Sự khác biệt cốt lõi nằm ở cách hai hàm xử lý dữ liệu đã được lọc hoặc ẩn. Hàm SUM tính tất cả giá trị trong phạm vi, bất kể hàng đó có đang hiển thị hay không. Ngược lại, SUBTOTAL(9, …) chỉ tính tổng các hàng nhìn thấy sau khi lọc — đây là lý do chính khiến SUBTOTAL được ưa chuộng trong báo cáo thống kê.

So sánh xử lý hàng ẩn

Theo video hướng dẫn từ kênh MrExcel trên YouTube, SUBTOTAL 9 dùng cho dữ liệu lọc và không loại trừ hàng ẩn thủ công. Trong khi đó, SUBTOTAL 109 dùng cho cả dữ liệu lọc lẫn hàng ẩn bằng Ctrl+9 — nó chính xác hơn khi bạn cần loại trừ mọi hàng không hiển thị.

Điều cần nhớ

Nếu bạn ẩn hàng thủ công (không phải do lọc), dùng mã 109 thay vì 9 để đảm bảo kết quả chính xác.

Khi nào dùng từng hàm

Sử dụng SUM khi bạn cần tính tổng toàn bộ dữ liệu mà không quan tâm đến trạng thái hiển thị. Dùng SUBTOTAL(9) khi làm việc với AutoFilter và muốn kết quả tự cập nhật theo bộ lọc. Chọn SUBTOTAL(109) khi báo cáo cần loại trừ cả dữ liệu lọc lẫn hàng ẩn thủ công — đây là lựa chọn an toàn nhất theo khuyến nghị từ Dailymotion Excel Tips.

“1-11 bao gồm những hàng ẩn bằng cách thủ công, còn 101-111 loại trừ chúng ra.” — Microsoft Support

“SUBTOTAL 9 tính tổng hàng nhìn thấy sau lọc, nhưng bao gồm hàng ẩn thủ công.” — Dailymotion Excel Tips

Hàm subtotal 9 và 109 khác nhau như thế nào?

Đây là câu hỏi được thảo luận nhiều nhất trên các diễn đàn Excel, và sự khác biệt thực sự rất đơn giản nhưng có ý nghĩa quan trọng trong thực tế. Theo thảo luận trên diễn đàn Giaiphapexcel, SUBTOTAL 9 tính tổng cả dòng ẩn thủ công, trong khi 109 chỉ tính các dòng thỏa điều kiện lọc và hiển thị.

Mã 9: SUM bao gồm ẩn thủ công

SUBTOTAL(9, C2:C8) tính tổng phạm vi C2:C8 chỉ với dữ liệu lọc, nhưng nếu bạn ẩn một hàng thủ công bằng cách bôi đen hàng đó và nhấn Ctrl+9, hàng đó vẫn được tính vào tổng. Điều này có thể gây bất ngờ nếu bạn không nắm rõ cơ chế hoạt động.

Mã 109: SUM bỏ qua ẩn thủ công

SUBTOTAL(109, C2:C8) bỏ qua mọi hàng không hiển thị — dù hàng đó bị ẩn do lọc hay do thao tác thủ công. Vietda xác nhận rằng SUBTOTAL(109, A1:E1) không bị ảnh hưởng bởi cột ẩn — hàm chỉ loại trừ hàng ẩn, không phải cột ẩn.

Quy tắc nhanh

Khi không chắc chắn nên dùng mã nào, hãy chọn 109 — nó bao gồm cả chức năng của 9 và thêm khả năng loại trừ hàng ẩn thủ công.

Khi nào dùng hàm SUBTOTAL?

Hàm SUBTOTAL phát huy sức mạnh trong các tình huống cụ thể mà SUM truyền thống không thể xử lý tốt. Theo Blog Hocexcel, đây là công cụ lý tưởng cho danh sách hoặc cơ sở dữ liệu cần thống kê linh hoạt.

Với dữ liệu lọc

Khi bạn sử dụng AutoFilter hoặc bộ lọc nâng cao trên bảng dữ liệu, SUBTOTAL(9, D3:D22) sẽ tự động cập nhật tổng theo kết quả lọc — bạn không cần thay đổi công thức khi thay đổi bộ lọc. Vietda minh họa ví dụ này với dữ liệu thực tế về quản lý bán hàng.

Thống kê danh sách

SUBTOTAL hỗ trợ tính đánh số thứ tự trong dữ liệu lọc — khi bạn lọc bảng, số thứ tự tự động cập nhật và chỉ đánh số các hàng đang hiển thị. Ngoài ra, bạn có thể kết hợp IF với SUBTOTAL để tạo báo cáo động hiển thị Total, Average, Max, Min tùy theo nhu cầu theo hướng dẫn từ Vietda.

Công thức và ví dụ hàm SUBTOTAL?

Cú pháp đầy đủ của hàm SUBTOTAL theo Blog Hocexcel là =SUBTOTAL(function_num, ref1,,…). Dưới đây là hướng dẫn từng bước để bạn áp dụng ngay. Để hiểu rõ hơn về cách sử dụng hàm SUBTOTAL, bạn có thể tham khảo $Đánh giá G304 Logitech.

Cú pháp chi tiết

  • function_num: Số từ 1-11 hoặc 101-111, xác định chức năng thống kê (xem bảng trên)
  • ref1: Phạm vi hoặc tham chiếu đầu tiên — bắt buộc
  • ref2,…: Các phạm vi bổ sung, tối đa 254 đối số — tùy chọn

Bảng sau tổng hợp đầy đủ 11 chức năng chính theo Microsoft Support:

Mã 1-11 Mã 101-111 Chức năng
1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP

Ví dụ thực tế

Dưới đây là các ví dụ cụ thể giúp bạn hình dung cách áp dụng SUBTOTAL:

  • =SUBTOTAL(9, C2:C8) — Tính tổng C2:C8, bỏ qua hàng lọc nhưng bao gồm hàng ẩn thủ công
  • =SUBTOTAL(109, C2:C8) — Tính tổng C2:C8, bỏ qua cả hàng lọc lẫn hàng ẩn thủ công
  • =SUBTOTAL(2, D3:D22) — Đếm số ô có dữ liệu trong phạm vi đã lọc
  • =SUBTOTAL(4, A1:A100) — Tìm giá trị lớn nhất, tự động cập nhật khi lọc

Lưu ý quan trọng: SUBTOTAL bỏ qua các SUBTOTAL lồng nhau để tránh tính trùng. Nếu bạn có SUBTOTAL trong phạm vi tham chiếu, nó sẽ không bị tính lại — đây là cơ chế thiết kế thông minh theo Blog Hocexcel.

Mẹo thực tế

Đặt SUBTOTAL ở dòng tổng cộng của bảng — khi bạn lọc theo tiêu chí nào đó, tổng sẽ tự động phản ánh đúng dữ liệu đang hiển thị mà không cần chỉnh sửa công thức.

So sánh chi tiết: SUBTOTAL 9 vs 109

Bảng so sánh trực tiếp dưới đây giúp bạn nắm rõ sự khác biệt giữa hai mã phổ biến nhất, dựa trên tài liệu từ Excel Tips Video và Microsoft Support:

Tiêu chí SUBTOTAL(9, …) SUBTOTAL(109, …)
Xử lý hàng lọc Bỏ qua hoàn toàn Bỏ qua hoàn toàn
Xử lý hàng ẩn thủ công (Ctrl+9) Tính vào tổng Không tính
Phạm vi sử dụng Dữ liệu chỉ có lọc Dữ liệu có lọc và ẩn thủ công
Độ an toàn Có thể sai khi dùng ẩn thủ công An toàn hơn, loại trừ mọi hàng ẩn

Điểm mấu chốt: cả hai mã đều bỏ qua hàng lọc, nhưng 109 kiểm soát tốt hơn khi bạn kết hợp cả lọc lẫn ẩn thủ công. Nếu chỉ dùng AutoFilter đơn thuần, 9 và 109 cho kết quả giống nhau.

Điều này có nghĩa là kế toán viên và chuyên viên thống kê nên ưu tiên mã 109 để đảm bảo báo cáo luôn phản ánh đúng dữ liệu đang hiển thị, tránh sai số do quên ẩn hàng thủ công.

Tóm lại: Người dùng thường xuyên làm việc với báo cáo nên chọn SUBTOTAL(109) vì nó loại trừ cả hàng lọc lẫn hàng ẩn thủ công, giúp số liệu luôn chính xác và đáng tin cậy.

Các bước sử dụng hàm SUBTOTAL

Để sử dụng hàm SUBTOTAL hiệu quả, hãy làm theo 5 bước đơn giản sau đây:

  1. Chuẩn bị dữ liệu: Sắp xếp dữ liệu theo cột, mỗi cột có tiêu đề rõ ràng. Đảm bảo không có cột trống trong phạm vi cần tính.
  2. Chọn vị trí ô kết quả: Click vào ô mà bạn muốn hiển thị tổng phụ — thường là ô bên dưới hoặc cuối cột dữ liệu.
  3. Nhập công thức SUBTOTAL:=SUBTOTAL( và chọn mã chức năng phù hợp (9 cho tổng thông thường, 109 nếu cần loại trừ hàng ẩn).
  4. Chọn phạm vi dữ liệu: Bôi đen hoặc gõ phạm vi cần tính, ví dụ C2:C20. Đóng ngoặc và nhấn Enter.
  5. Áp dụng bộ lọc: Dùng Data → Filter để tạo bộ lọc — kết quả SUBTOTAL sẽ tự động cập nhật theo dữ liệu hiển thị.

Sau khi hoàn tất, bạn sẽ thấy tổng phụ thay đổi ngay khi thay đổi bộ lọc — đây là tính năng giúp SUBTOTAL trở thành công cụ không thể thiếu trong báo cáo Excel hiện đại.

Câu hỏi thường gặp

Subtotal ở đâu trong Excel?

Bạn có thể truy cập chức năng SUBTOTAL qua tab Data → Subtotal trong ribbon Excel. Tại đây, bạn chọn cột để thêm tổng phụ, chọn hàm thống kê (SUM, AVERAGE, COUNT…) và chọn vị trí đặt dòng tổng. Cách này tự động chèn công thức SUBTOTAL phù hợp cho từng nhóm dữ liệu.

Range trong công thức SUBTOTAL là gì?

Range (phạm vi) trong SUBTOTAL là tập hợp các ô chứa dữ liệu bạn muốn thống kê. Bạn có thể chỉ định một hoặc nhiều phạm vi, ví dụ =SUBTOTAL(9, A1:A10, C1:C10) sẽ tính tổng cả hai phạm vi. Tối đa 254 phạm vi theo tài liệu từ Vietda.

Hàm SUBTOTAL có thay thế SUM không?

SUBTOTAL không thay thế hoàn toàn SUM — mỗi hàm phục vụ mục đích riêng. Dùng SUM khi cần tính tổng cố định, dùng SUBTOTAL khi cần kết quả tự cập nhật theo bộ lọc. SUBTOTAL có thêm chi phí tính toán nhẹ hơn, nhưng đổi lại bạn được tính năng lọc động — đây là sự đánh đổi xứng đáng trong hầu hết trường hợp.

Cách dùng SUBTOTAL với AutoFilter?

Đặt công thức SUBTOTAL(9, C2:C100) tại dòng tổng cộng, sau đó bật AutoFilter (Data → Filter). Khi bạn lọc theo tiêu chí, tổng tự động thay đổi theo dữ liệu hiển thị. Nếu dùng mã 109 thay 9, bạn còn loại trừ được hàng ẩn thủ công nếu có.

SUBTOTAL đếm ô không trống như thế nào?

Dùng mã 3 (COUNTA) hoặc 103 để đếm ô không trống: =SUBTOTAL(3, A1:A50). Mã 3 bao gồm hàng ẩn thủ công, còn 103 loại trừ chúng. Hàm bỏ qua ô trống và chỉ đếm ô có chứa dữ liệu (số, text, ngày tháng).

Lỗi phổ biến khi dùng SUBTOTAL?

Lỗi thường gặp nhất là dùng SUBTOTAL(9) khi đã ẩn hàng thủ công — kết quả sẽ bao gồm hàng ẩn trong khi bạn không mong đợi. Giải pháp: chuyển sang mã 109. Một lỗi khác là tham chiếu sai phạm vi — đảm bảo phạm vi bao gồm đủ dữ liệu và không chứa cột trống xen giữa.

SUBTOTAL hoạt động với PivotTable?

SUBTOTAL thường không cần thiết trong PivotTable vì PivotTable đã có tính năng tổng phụ tích hợp. Tuy nhiên, bạn có thể dùng SUBTOTAL bên ngoài PivotTable để thống kê dữ liệu nguồn hoặc tạo báo cáo bổ sung. Cần lưu ý rằng SUBTOTAL bỏ qua các giá trị đã được tính toán bởi hàm SUBTOTAL khác — đây là cơ chế tránh trùng lặp.


Related reading: Cách sử dụng hàm SUBTOTAL trong Excel · Hàm SUBTOTAL