SUBTOTAL Và AGGREGATE: Tính Toán Thông Minh Với Dữ Liệu Lọc Trong Excel
Chia sẻ
"Hướng dẫn hàm SUBTOTAL và AGGREGATE trong Excel: tính tổng, đếm, trung bình trên dữ liệu đã lọc, bỏ qua hàng ẩn, bỏ qua lỗi — thay thế hoàn hảo cho SUM."
1. Vấn đề với SUM trên dữ liệu lọc
Khi bạn Filter bảng dữ liệu → SUM vẫn tính TẤT CẢ các hàng (kể cả hàng bị ẩn). Kết quả sai!
=SUM(C2:C100) → Tổng TẤT CẢ, kể cả hàng ẩn
=SUBTOTAL(9, C2:C100) → Tổng CHỈ các hàng hiển thịSUBTOTAL và AGGREGATE giải quyết vấn đề này.
2. SUBTOTAL — Tính toán trên dữ liệu lọc
2.1. Cú pháp
=SUBTOTAL(function_num, ref1, [ref2], ...)2.2. Bảng function_num
Bao gồm ẩn tay | Bỏ ẩn tay | Hàm |
|---|---|---|
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 |
2.3. Khác biệt 1-11 vs 101-111
Loại | Hàng ẩn bằng Filter | Hàng ẩn tay (Hide Row) |
|---|---|---|
1-11 | ✅ Bỏ qua | ❌ Vẫn tính |
101-111 | ✅ Bỏ qua | ✅ Bỏ qua |
Dùng 101-111 nếu muốn bỏ qua CẢ hàng ẩn tay.
2.4. Ví dụ: Tổng doanh số sau Filter
=SUBTOTAL(9, C2:C100)Filter phòng "Kinh doanh" → SUBTOTAL chỉ tính hàng Kinh doanh hiển thị.
2.5. Ví dụ: Đếm sau Filter
=SUBTOTAL(3, B2:B100)COUNTA trên dữ liệu lọc → đếm số hàng hiển thị.
2.6. Ví dụ: Trung bình sau Filter
=SUBTOTAL(1, C2:C100)AVERAGE trên dữ liệu lọc.
3. AGGREGATE — SUBTOTAL nâng cấp
3.1. Cú pháp
=AGGREGATE(function_num, options, ref1, [ref2])
hoặc
=AGGREGATE(function_num, options, array, k)3.2. Hàm bổ sung (so với SUBTOTAL)
function_num | Hàm |
|---|---|
12 | MEDIAN |
13 | MODE |
14 | LARGE |
15 | SMALL |
16 | PERCENTILE.INC |
17 | QUARTILE.INC |
18 | PERCENTILE.EXC |
19 | QUARTILE.EXC |
AGGREGATE có LARGE, SMALL, MEDIAN, MODE — SUBTOTAL không có!
3.3. Options (bỏ qua gì)
Options | Bỏ qua |
|---|---|
0 | Nested SUBTOTAL/AGGREGATE |
1 | Hidden rows + nested |
2 | Error values + nested |
3 | Hidden + errors + nested |
4 | Không bỏ gì |
5 | Hidden rows |
6 | Error values |
7 | Hidden + errors |
3.4. Ví dụ: SUM bỏ qua lỗi
=AGGREGATE(9, 6, C2:C100)function_num=9 (SUM), option=6 (bỏ error) → tính tổng dù có ô lỗi.
3.5. Ví dụ: LARGE bỏ qua lỗi
=AGGREGATE(14, 6, C2:C100, 1) → Giá trị lớn nhất (bỏ lỗi)
=AGGREGATE(14, 6, C2:C100, 3) → Giá trị lớn thứ 3 (bỏ lỗi)3.6. Ví dụ: MEDIAN trên dữ liệu lọc
=AGGREGATE(12, 5, C2:C100)MEDIAN chỉ trên hàng hiển thị.
4. So sánh SUM vs SUBTOTAL vs AGGREGATE
Tính năng | SUM | SUBTOTAL | AGGREGATE |
|---|---|---|---|
Bỏ qua filter | ❌ | ✅ | ✅ |
Bỏ qua hide row | ❌ | Tùy chọn | Tùy chọn |
Bỏ qua error | ❌ | ❌ | ✅ |
LARGE/SMALL | ❌ | ❌ | ✅ |
MEDIAN | ❌ | ❌ | ✅ |
Tốc độ | Nhanh | Nhanh | Trung bình |
5. Ứng dụng thực tế
5.1. Dashboard với Filter
Ô tóm tắt (không bị ảnh hưởng bởi filter):
Tổng: =SUBTOTAL(9, C2:C1000)
Đếm: =SUBTOTAL(3, B2:B1000)
Trung bình: =SUBTOTAL(1, C2:C1000)
Max: =SUBTOTAL(4, C2:C1000)
Min: =SUBTOTAL(5, C2:C1000)→ Filter phòng ban → ô tóm tắt tự cập nhật!
5.2. Top N với dữ liệu lỗi
=AGGREGATE(14, 6, Doanh_so, ROW(A1))Copy xuống: Row 1 → Top 1, Row 2 → Top 2... Bỏ qua ô lỗi.
5.3. Subtotal trong Outline/Group
Data → Subtotal → Excel tự thêm SUBTOTAL cho mỗi nhóm. Tổng cuối cùng (Grand Total) dùng SUBTOTAL → không bị tính trùng subtotal con.
5.4. Status bar
Khi chọn vùng dữ liệu → Status bar (góc dưới phải) hiện SUM, AVERAGE, COUNT.
Click phải Status bar → chọn thêm: MIN, MAX, NUMERICAL COUNT.
6. SUBTOTAL tự động trong Table
Khi dùng Excel Table (Ctrl+T):
Bật Total Row: tick ở Table Design tab
Excel tự thêm SUBTOTAL (không phải SUM!)
Click dropdown ở Total Row → chọn: Sum, Average, Count, Max, Min...
7. Mẹo SUBTOTAL & AGGREGATE
Luôn dùng SUBTOTAL thay SUM khi dữ liệu có thể bị filter
AGGREGATE(14,6,...) cho Top N an toàn (bỏ lỗi)
Table + Total Row: Cách nhanh nhất thêm SUBTOTAL
Function 109 thay 9: Bỏ qua cả hàng ẩn tay
AGGREGATE option=7: An toàn nhất — bỏ cả hidden + errors
8. Tổng kết
SUBTOTAL và AGGREGATE là 2 hàm BẮT BUỘC PHẢI BIẾT khi làm việc với dữ liệu lọc. SUM truyền thống cho kết quả SAI trên dữ liệu filter — SUBTOTAL/AGGREGATE cho kết quả ĐÚNG. Đặc biệt AGGREGATE với khả năng bỏ lỗi và hỗ trợ LARGE/SMALL/MEDIAN là công cụ thống kê mạnh nhất trong Excel.
📥 Tải File Demo
📥 Tải file demo: subtotal-aggregate-demo.xlsx
📎 File đính kèm bài viết — chứa đầy đủ dữ liệu mẫu
Mục lục
- 1. Vấn đề với SUM trên dữ liệu lọc
- 2. SUBTOTAL — Tính toán trên dữ liệu lọc
- 2.1. Cú pháp
- 2.2. Bảng function_num
- 2.3. Khác biệt 1-11 vs 101-111
- 2.4. Ví dụ: Tổng doanh số sau Filter
- 2.5. Ví dụ: Đếm sau Filter
- 2.6. Ví dụ: Trung bình sau Filter
- 3. AGGREGATE — SUBTOTAL nâng cấp
- 3.1. Cú pháp
- 3.2. Hàm bổ sung (so với SUBTOTAL)
- 3.3. Options (bỏ qua gì)
- 3.4. Ví dụ: SUM bỏ qua lỗi
- 3.5. Ví dụ: LARGE bỏ qua lỗi
- 3.6. Ví dụ: MEDIAN trên dữ liệu lọc
- 4. So sánh SUM vs SUBTOTAL vs AGGREGATE
- 5. Ứng dụng thực tế
- 5.1. Dashboard với Filter
- 5.2. Top N với dữ liệu lỗi
- 5.3. Subtotal trong Outline/Group
- 5.4. Status bar
- 6. SUBTOTAL tự động trong Table
- 7. Mẹo SUBTOTAL & AGGREGATE
- 8. Tổng kết
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
INDIRECT Và OFFSET: Tạo Tham Chiếu Động Trong Excel
INDIRECT biến text thành tham chiếu, OFFSET tạo range dịch chuyển. Tạo dependent dropdowns, dynamic charts, cross-sheet lookups một cách linh hoạt.
IF Nâng Cao: IFS, SWITCH, LAMBDA, LET — Công Thức Điều Kiện Thế Hệ Mới
Không còn nested IF 64 cấp! IFS cho nhiều điều kiện, SWITCH cho match giá trị, LET cho biến trung gian, LAMBDA cho hàm tự tạo. So sánh chi tiết và ví dụ.
Dynamic Array Excel: UNIQUE, SORT, FILTER, SEQUENCE — Công Thức Tràn
Hướng dẫn Dynamic Array Excel 365: UNIQUE lọc không trùng, SORT sắp xếp, FILTER lọc điều kiện, SEQUENCE tạo chuỗi số. Kết hợp tạo solutions mạnh mẽ.
