Có thể bạn quan tâm: Truy Xuất Dữ Liệu Từ Nhiều Bảng Trong Excel: Hướng Dẫn Chi Tiết Và Thực Tế
Giới thiệu chung
Trong công việc xử lý dữ liệu, báo cáo moeten, và phân tích kinh doanh, Excel luôn là công cụ quan trọng nhất được các nhà phân tích, kế toán, và những người làm việc trong lĩnh vực dữ liệu sử dụng hàng ngày. Một trong những thao tác thường gặp là tìm giá trị nhỏ nhất trong một dãy số. Tuy nhiên, trong nhiều tình huống thực tế, chúng ta không muốn lấy giá trị 0 – đặc biệt khi 0 được dùng làm đánh dấu “không có dữ liệu” hay “giá trị chưa được nhập”. Cần một công thức hoặc phương pháp cho phép lọc ra giá trị nhỏ nhất không phải 0. Bài viết này sẽ giới thiệu chi tiết các cách tiếp cận khác nhau để giải quyết vấn đề này, từ côngോഗ tính thuần túy trong Excel, sử dụng hàm mảng, đến viết macro VBA, và các mẹo thực tiễn khi làm việc với dữ liệu lớn.
Có thể bạn quan tâm: Trung Tâm Tin Học Văn Phòng: Nơi Nâng Cao Kỹ Năng Word, Excel, Powerpoint
1. Tại sao không lấy giá trị 0?
1.1 0 là “đánh dấu” thường dùng
Trong các bảng tính, 0 thường được đặt vào các ô trống hoặc chưa có dữ liệu, để tránh lỗi khi tính toán. Nếu ta lấy giá trị 0 làm “giá trị nhỏ nhất”, kết quả sẽ không phản ánh thực tế, vì 0 thường không phải là một số thực sự cần phân tích.
1.2 Rủi ro lỗi trong báo cáo
Nếu một số ô trong hip được đặt 0 nhưng thực chất không có dữ liệu, việc lấy giá trị 0 làm “giá trị nhỏ nhất légal” có thể gây hiểu lầm và dẫn đến quyết định sai lầm trong báo cáo tài chính, dự án hoặc dự báo.
1.3 Độ chính xác trong phân tích thống kê
Trong thống kê, 0 thường có tác động lớn đến độ lệch chuẩn, trung bình, và các chỉ số khác. Việc loại bỏ 0 khi tính giá trị nhỏ nhất giúp phân tích chính xác hơn.
Có thể bạn quan tâm: Trong Excel: Chức Năng Insert Function Và Những Nhiệm Vụ Quan Trọng
2. Các phương pháp tìm giá trị nhỏ nhất khác 0 trong Excel
Dưới đây, chúng ta sẽ khám phá nhiều cách khác nhau – từ công thứcBill toán đơn giản nhất đến macro VBA nâng cao – để tìm giá trị nhỏ nhất khác 0 trong một dải ô.
2.1 Sử dụng hàm MIN kết hợp với IF
Cách truyền thống nhất và dễ hiểu nhất là dùng hàm MIN và IF:
=MIN(IF(A1:A100<>0, A1:A100))
Cách thực hiện:
- Đặt công thức này vào một ô (ví dụ B1).
- Nhấn Ctrl+Shift+Enter (đối với Excel 2026 hoặc cũ) để nhập công thức mảng. Trong Excel 365, bạn chỉ cần nhấn Enter vì tính năng mảng động.
- Kết quả trả về là giá trị nhỏ nhất trong phạm vi A1:A100, bỏ qua các giá trị 0.
Lưu ý: Nếu không có giá trị khác 0, công thức sẽ trả về lỗi
#NUM!. Để tránh lỗi, ta có thể sử dụngIFERROR:
=IFERROR(MIN(IF(A1:A100<>0, A1:A100)), "Không có giá trị khác 0")
2.2 Sử dụng hàm AGGREGATE
AGGREGATE là hàm mạnh mẽ cho phép thực thi các phép tính thống kê trong khi bỏ qua lỗi và giá trị 0.
Công thức:
=AGGREGATE(15, 6, A1:A100/(A1:A100<>0), 1)
Giải thích:
15là mã hàmSMALL.6là tùy chọn bỏ qua lỗi.A1:A100/(A1:A100<>0)tạo ra mảng chia, nếu giá trị = 0 sẽ tạo lỗi#DIV/0!.1là vị trí thứ nhất – tức là giá trị nhỏ nhất.
Lưu ý: Cách này cực kỳ hiệu quả trên các bản Excel 2026 trở lên, đặc biệt khi dữ liệu lớn.
2.3 Sử dụng hàm MINIFS (Excel 2026/365)
Nếu bạn đang làm việc với Excel 2026 hoặc Excel 365, hàm MINIFS là một lựa chọn tuyệt vời:
=MINIFS(A1:A100, A1:A100, "<>0")
A1:A100là phạm vi cần tìm giá trị nhỏ nhất.A1:A100, "<>0"là điều kiện “không bằng 0”.
Lưu ý:
MINIFSchỉ khả dụng trong các phiên bản mới hơn Excel, vì vậy hãy kiểm tra tính tương thích.
2.4 Sử dụng hàm FILTER (Excel 365)
Nếu bạn muốn có một mảng giá trị nhỏ nhất (nếu có nhiều giá trị bằng nhau), FILTER giúp lọc dãy dữ liệu ra:
=MIN(FILTER(A1:A100, A1:A100<>0))
Đây là một công thức mảng động, trả kuhakikisha một giá trị duy nhất, nếu có nhiều giá trị bằng nhau thì trả về 0.
2.5 Sử dụng hàm SMALL
SMALL có thể được dùng để lấy giá trị thứ n trong dãy, vì vậy ta có thể chọn n=1:
=SMALL(IF(A1:A100<>0, A1:A100), 1)
Nhấn Ctrl+Shift+Enter nếu cần.
3. Khi dữ liệu có nhiều loại giá trị đặc biệt: #N/A, lỗi, và trống
Trong thực tế, dữ liệu thường có các giá trị lỗi (#N/A, #DIV/0!) hoặc ô trống (""). Nếu không xử lý, expliquer này sẽ gây lỗi. Dưới đây là cách làm sạch dữ liệu trước khi tìm giá trị nhỏ nhất.
3.1 Sử dụng hàm IFERROR + MIN
=IFERROR(MIN(IF(A1:A100<>0, A1:A100)), "Không có dữ liệu hợp lệ")
3.2 Sử dụng hàm AGGREGATE để bỏ qua lỗi
=AGGREGATE(15, 6, IF(ISNUMBER(A1:A100), A1:A100/(A1:A100<>0), ""), 1)
ISNUMBERsẽ loại bỏ lỗi.A1:A100/(A1:A100<>0)tạo lỗi nếu 0, được bỏ qua bởi tùy chọn 6.
3.3 Dùng hàm FILTER với điều kiện ISNUMBER
=MIN(FILTER(A1:A100, (A1:A100<>0) ISNUMBER(A1:A100)))
Điều kiện (A1:A100<>0) ISNUMBER(A1:A100) tạo mảng chỉ chứa các số khác 0.
4. Tìm giá trị nhỏ nhất khác 0 trong một bảng có nhiều cột
Đôi khi ta cần tìm giá trị nhỏ nhất trong một bảng nhiều cột, không chỉ một cột đơn. Cách làm sẽ tuỳ thuộc vào cách bố trí dữ liệu.
4.1 Dùng hàm MINIFS với nhiều điều kiện

Có thể bạn quan tâm: Tìm Dữ Liệu Trùng Nhau Trong 2 File Excel: Cách Thực Hiện Nhanh Và Hiệu Quả
Giả sử dữ liệu nằm trong bảng A1:D100, այն muốn tìm giá trị nhỏ nhất khác 0 trong cột B:
=MINIFS(B1:B100, B1:B100, "<>0")
Nếu muốn tìm giá trị nhỏ nhất theo nhiều điều kiện (ví dụ: cột C = “A” và cột D > 10):
=MINIFS(B1:B100, B1:B100, "<>0", C1:C100, "A", D1:D100, ">10")
Userid.
4.2 Dùng hàm AGGREGATE trong bảng
“`’ailleurs
=AGGREGATE(15, 6, IF((B1:B100<>0)(C1:C100=”A”)(D1:D100>10), B1:B100), 1)
Nhấn Ctrl+Shift+Enter nếu cần. ### 4.3 Dùng hàm LARGE để lấy giá trị lớn nhất Nếu bạn muốn tìm giá trị lớn nhất khác 0, thay `SMALL` bằng `LARGE`: ```excel
=LARGE(IF(A1:A100<>0, A1:A100), toevoeg)
Trong đó toevoeg là vị trí thứ n (ví dụ: 1 để lấy giá trị lớn nhất).
5. Tối ưu công thức khi làm việc với dữ liệu lớn
Khi dữ liệu có hàng triệu ô, các công thức mảng truyền thống có thể chậm. Dưới đây là một số mẹo tối ưu:
5.1 Sử dụng hàm AGGREGATE thay vì mảng
AGGREGATE thường nhanh hơn vì nó không phải tính toán toàn bộ mảng. Ví dụ:
=AGGREGATE(15, 6, A1:A1000000/(A1:A1000000<>0), 1)
5.2 Tránh tính toán không cần thiết
Nếu dữ liệu được lưu trong một vùng có kích thước lớn, hãy giới hạn phạm vi vào vùng dữ liệu thực sự (ví dụ: A1:A5000 thay vì A:A). Mỗi ô tính toán thêm một phần thời gian.
5.3 Dùng tính năng Power Query
Nếu dữ liệu rất lớn, Power Query là công cụ mạnh mẽ để lọc và tính toán trước khi đưa vào bảng tính. Bạn có thể:
- Nhập dữ liệu vào Power Query.
- Thêm bước Filter Rows để loại bỏ giá trị 0.
- Thêm bước Group By và tính
Min. - Gửi kết quả trở về Excel.
5.4 Sử dụng VBA đểoleum
Nếu bạn cần tính toán liên tục hoặc tự động, viết macro sẽ nhanh hơn nhiều.
6. Viết Macro VBA để tìm giá trị nhỏ nhất khác 0
Đây là một ví dụ macro đơn giản, có thể tùy chỉnh cho nhu cầu:
Function MinNonZero(rng As Range) As Variant Dim cell As Range Dim minVal As Double Dim found As Boolean minVal = 0 found = False For Each cell In rng If IsNumeric(cell.Value) Then If cell.Value <> 0 Then If Not found Then minVal = cell.Value found = True ElseIf cell.Value < minVal Then minVal = cell.Value End If End If End If Next cell If found Then MinNonZero = minVal Else MinNonZero = CVErr(xlErrValue) 'hoặc trả về "Không có dữ liệu aload" End If
End Function
Sử dụng trong Excel:
=MinNonZero(A1:A100 giáo)
Macro này nhanh hơn vì nó chỉ lặp qua các ô số, bỏ qua lỗi và laptop.
7. Khi dữ liệu có giá trị âm và dương
Nếu dữ liệu có cả số âm và dương, “giá trị nhỏ nhất” có thể là một số âm. Để tìm giá trị nhỏ nhất không phải 0 nhưng lớn hơn 0 (tức là giá trị dương nhỏ nhất), ta chỉ cần điều kiện “>0” thay vì “<>0”.
=MIN(IF(A1:A100>0, A1:A100))
Hoặc AGGREGATE:
=AGGREGATE(15, 6, A1:A100/(A1:A100>0), 1)
Nếu bạn muốn lấy giá trị âm nhỏ nhất (tức là giá trị dương lớn nhất), dùng MAX:
=MAX(IF(A1:A100<0, A1:A100))
8. Kiểm tra và xác nhận kết quả
Sau khi áp dụng công thức, luôn kiểm tra:
- Chèn dữ liệu mẫu: Thêm các giá trị 0, số dương, số âm, lỗi, ô trống.
- So sánh với công cụ thống kê: Sử dụng tính năng “Find & Select → Go To Special → Constants” để xác định các ô có giá trị khác 0.
- Xem xét kết quả: Nếu kết quả là lỗi
#NUM!hoặc#VALUE!, kiểm tra lại điều kiện và phạm vi.
9. Mẹo và thủ thuật nâng cao
pomoč:
9.1 Đặt công thức trong bảng dữ liệu (Table)
Khi bạn chuyển vùng dữ liệu thành Table (Ctrl+T), các công thức tự động mở rộng. Ví dụ:
=MINIFS(ColumnName, ColumnName, "<>0")
Điều này giúp công thức luôn áp dụng cho toàn bộ bảng mà không cần thay đổi phạm vi.
9.2 Sử dụng Conditional Formatting để làm nổi bật giá trị nhỏ nhất
- Chọn vùng dữ liệu.
- Đi tới
Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format. - Nhregion:
=AND(A1<>0, A1=MIN(IF(A$1:A$100<>0, A$1:A$100)))(điều kiện mảng). - Chọn màu nền hoặc sebaka.
9.3 Tổ chức dữ liệu tốt hơn
- Loại bỏ ô trống: Dùng
Filter → Number Filters → Does not equal → 0. - Sắp xếp dữ liệu: Sắp xếp giảmexcel: từ lớn đến nhỏ, sau đó tìm giá trị đầu tiên khác 0.
9.4 Đặt công thức trong Named Range
Nếu bạn thường xuyên sử dụng công thức này, đặt nó vào Named Range sẽ giúp truy cập nhanh hơn:
- Công thức:
=MIN(IF(A1:A100<>0, A1:A100)). - Tên:
MinNonZero. - Sử dụng:
=MinNonZero.
10. Kết luận
Tìm giá trị nhỏ nhất khác 0 trong Excel là một nhiệm vụ điều kiện, nhưng với sự pha trộn của các hàm mảng, hàm thống kê nâng cao, và macro VBA, ta có thể thực hiện nhanh chóng, chính xác và linh hoạt. Dưới đây là tóm tắt các phương pháp chính:
| Phương pháp | Cấu trúc công thức | Ưu điểm | Nhược điểm |
|---|---|---|---|
MIN(IF(...)) (mảng) | =MIN(IF(A1:A100<>0, A1:A100)) | Đơn giản, khả dụng trên mọi phiên bản | Cần Ctrl+Shift+Enter (cũ), chậm với dữ liệu lớn |
AGGREGATE | =AGGREGATE(15, 6, A1:A100/(A1:A100<>0), 1) | Không cần mảng, nhanh hơn | Phức tạp hơn, không hiển thị rõ ràng |
MINIFS | =MINIFS(A1:A100, A1:A100, "<>0") | Dễ đọc, tự động mảng | Đòi hỏi Excel 2026/365 |
FILTER + MIN | =MIN(FILTER(A1:A100, A1:A100<>0)) | Hỗ trợ mảng động | Cần Excel 365 |
| VBA | Tùy chỉnh | Rất nhanh, linh hoạt | Cần viết macro |
Dựa trên nhu cầu và môi trường làm việc của bạn, hãy chọn phương pháp phù hợp nhất. Nếu refugee dữ liệu lớn, hãy thử AGGREGATE hoặc Power Query. Nếu bạn cần tính toán liên tục, macro VBA là lựa chọn tốt. Với Excel 365, hàm MINIFS và FILTER sẽ làm công việc của bạn trở nên nhẹ nhàng hơn.
11. Thực hành: 5 bài tập để rèn luyện
- Bài tập 1: Trong bảng A1:C20, tìm giá trị tolua nhỏ nhất khác 0 trong cột B, bỏ qua các ô trống và lỗi.
- Bài tập 2: Sử dụng Power Query để lọc dữ liệu trong bảng A1:D1000, loại bỏ 0 và tìm giá trị nhỏ nhất trong cột C.
- Bài tập 3: Viết macro VBA để tìm giá trị nhỏ nhất khác 0 trong một vùng được chọn bởi người dùng.
- Bài tập 4: Trong Excel 365, dùng
FILTERđể lấy tất cả các giá trị khác 0 trong cột A và cột morb. - Bài tập 5: Đặt công thức tìm giá trị nhỏ nhất khác 0 vào một Named Range và sử dụng trong nhiều bảng tính khác nhau.
Hãy thử thực hiện các bài tập này để củng cố kỹ năng và cảm nhận sự tiện lợi của các công thức Excel trong việc xử lý dữ liệu thực tế.
12. Tài nguyên tham khảo
- Microsoft Office Support – Tài liệu chính thức về
MINIFS,AGGREGATE nri,FILTER. - Excel Jet – Hướng dẫn chi tiết các hàm mảng.
- MrExcel Forum – Thảo luận và ví dụ thực tiễn.
- Power Query Cookbook – Cáchภู xử lý dữ liệu lớn bằng Power Query.
- VBA Developer’s Guide – Hướng dẫn viết macro hiệu quả.
Cảm ơn bạn đã đọc bài viết!
Nếu có thắc mắc, gợi ý hay chia sẻ kinh nghiệm, hãy để lại comment bên dưới. Chúc các bạn làm việc hiệu quả và thành công với Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
