Đếm Ô Trống Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mục lục bài viết

Giới thiệu chung

Microsoft Excel là một trong những công cụ quản lý dữ liệu mạnh mẽ và phổ biến nhất hiện nay. Dù bạn là nhân viên kế toán, nhà phân tích dữ liệu, giáo viên hay một người làm việc tự do, khả năng xử lý và phân tích dữ liệu trong Excel luôn là một kỹ năng quan trọng. Trong quá trình làm việc, bạn thường gặp phải những bảng tính chứa nhiều ô trống—có thể là do dữ liệu chưa được nhập, lỗi nhập liệu hoặc chỉ đơn giản là không cần thiết. Việc đếm ô trống trong Excel giúp bạn:

  • Xác định mức độ hoàn thiện của bộ dữ liệu.
  • Phát hiện các khoảng trống cần được điền hoặc loại bỏ.
  • Tính toán các chỉ số thống kê chính xác hơn (ví dụ: trung bình, tỷ lệ phần trăm).
  • Tự động hoá quy trình kiểm tra dữ liệu trong các báo cáo định kỳ.

Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ các cách đơn giản nhất cho người mới bắt đầu, tới các phương pháp nâng cao sử dụng công thức, hàm, bảng PivotTable, VBA và Power Query. Ngoài ra, chúng ta sẽ thảo luận về các trường hợp đặc biệt như đếm ô trống trong các dải dữ liệu không liên tục, trong các ô chứa công thức trả về chuỗi rỗng (""), và cách tích hợp đếm ô trống vào các quy trình tự động hoá.

Lưu ý: Bài viết được chia thành nhiều phần, mỗi phần bao gồm lý thuyết, ví dụ thực tế và các lưu ý thực tiễn. Bạn có thể đọc toàn bộ hoặc chỉ tập trung vào phần mình cần.

1. Khái niệm cơ bản: Ô trống là gì?

Trước khi bắt đầu đếm, chúng ta cần xác định ô trống trong Excel thực sự là gì. Có ba loại ô thường được coi là “trống”:

Loại ôMô tảCách xác định trong công thức
Ô thực sự trốngKhông chứa dữ liệu, không có công thức, không có định dạng đặc biệt.ISBLANK(A1) trả về TRUE.
Ô chứa công thức trả về chuỗi rỗngCông thức như =IF(A1>0, "Có", "") trả về "".A1="" hoặc LEN(A1)=0 trả về TRUE, nhưng ISBLANK(A1) trả về FALSE.
Ô chứa giá trị lỗiVí dụ #N/A, #DIV/0!.Không phải ô trống, nhưng trong một số báo cáo bạn có thể muốn tính chúng là “không có dữ liệu”.

Việc hiểu rõ sự khác nhau này sẽ giúp bạn lựa chọn hàm và cách tiếp cận phù hợp.

2. Đếm ô trống bằng hàm sẵn có trong Excel

2.1. Hàm COUNTBLANK

Đây là hàm đơn giản nhất để đếm ô trống trong một dải ô.

=COUNTBLANK(A1:C10)
  • Cú pháp: COUNTBLANK(range)
  • Kết quả: Số lượng ô trong range mà Excel coi là trống (chỉ tính ô không có dữ liệu và không có công thức trả về chuỗi rỗng).

Ví dụ thực tế

Giả sử bạn có bảng dữ liệu bán hàng trong A1:C5:

ABC
100200
150300
250350
120

Áp dụng =COUNTBLANK(A1:C5) sẽ trả về 7, vì có 7 ô không có bất kỳ giá trị nào.

Lưu ý

  • Nếu ô chứa công thức trả về "", COUNTBLANK không tính là ô trống.
  • COUNTBLANK không phân biệt giữa ô trống và ô chứa lỗi. Nếu muốn tính lỗi như ô trống, bạn cần kết hợp với các hàm khác (xem phần 3).

2.2. Kết hợp COUNTIF để đếm chuỗi rỗng

Nếu bạn muốn tính cả các ô có công thức trả về "", bạn có thể dùng COUNTIF:

=COUNTIF(A1:C10, "")
  • Cú pháp: COUNTIF(range, criteria)
  • Kết quả: Số ô trong range có nội dung bằng chuỗi rỗng. Điều này bao gồm ô thực sự trống và ô chứa công thức trả về "".

Ví dụ

Tiếp tục với bảng trên, nếu ô B2 chứa công thức =IF(A2>0, "", "Missing"), COUNTIF(A1:C5, "") sẽ trả về 8 (7 ô trống thực + 1 ô công thức trả về "").

2.3. Đếm ô trống và ô lỗi bằng COUNTBLANK + COUNTIF

Để tính tổng số ô “không có dữ liệu thực” (trống + lỗi), bạn có thể dùng:

=COUNTBLANK(A1:C10) + COUNTIF(A1:C10, "#N/A") + COUNTIF(A1:C10, "#DIV/0!")

Bạn có thể mở rộng danh sách các lỗi bằng cách sử dụng hàm SUMPRODUCT (xem phần 3).

3. Đếm ô trống trong các trường hợp nâng cao

3.1. Đếm ô trống trong dải không liên tục

Nếu dải ô của bạn không liền nhau, bạn có thể dùng COUNTBLANK cho từng dải và cộng lại:

=COUNTBLANK(A1:A10) + COUNTBLANK(C1:C10) + COUNTBLANK(E1:E10)

Hoặc dùng hàm mảng (Excel 365/2026 trở lên) để gộp lại:

=SUM(COUNTBLANK((A1:A10, C1:C10, E1:E10)))

Mở rộng: Với Excel 365, bạn có thể dùng hàm LET để giảm lặp lại và tăng tính đọc hiểu.

3.2. Đếm ô trống trong bảng (Table)

Khi dữ liệu được định dạng dưới dạng Table (Insert > Table), bạn có thể tham chiếu đến cột bằng tên:

=COUNTBLANK(Table1DoanhThu)

Nếu muốn tính cả ô công thức trả về "":

=COUNTIF(Table1DoanhThu, "")

3.3. Đếm ô trống trong các ô chứa công thức phức tạp

Có lúc ô chứa công thức trả về giá trị số hoặc chuỗi tùy thuộc vào điều kiện. Để kiểm tra xem ô có thực sự “trống” (không có dữ liệu hữu ích) hay không, bạn có thể dùng hàm IF kết hợp OR:

=SUMPRODUCT(--( (LEN(A1:A100)=0) + (ISERROR(A1:A100)) ))

Giải thích:

  • LEN(A1:A100)=0 trả về TRUE cho ô trống hoặc công thức trả về "".
  • ISERROR(A1:A100) trả về TRUE cho các ô lỗi.
  • -- chuyển TRUE/FALSE thành 1/0.
  • SUMPRODUCT cộng lại tổng số ô thỏa mãn ít nhất một điều kiện.

3.4. Đếm ô trống dựa trên nhiều tiêu chí (điều kiện)

Bạn có thể muốn đếm ô trống chỉ trong một cột khi cột khác thỏa mãn điều kiện. Ví dụ: Đếm số ô trống trong cột “Ghi chú” khi “Trạng thái” = “Hoàn thành”.

=SUMPRODUCT(--(B2:B100="Hoàn thành"), --(C2:C100=""))

Trong đó:

  • B2:B100 là cột “Trạng thái”.
  • C2:C100 là cột “Ghi chú”.

Nếu bạn sử dụng Excel 365, hàm FILTER cũng rất tiện:

=ROWS(FILTER(C2:C100, (B2:B100="Hoàn thành") (C2:C100="")))

3.5. Đếm ô trống trong các ô hợp nhất (merged cells)

Excel không cho phép đếm trực tiếp trong các ô hợp nhất vì chúng được xem như một ô duy nhất. Tuy nhiên, bạn có thể:

  1. Tách hợp nhất (Select merged cells → Right-click → Format Cells → Alignment → Unmerge).
  2. Sử dụng VBA để kiểm tra thuộc tính MergeCells.

Ví dụ VBA:

Function CountBlankMerged(rng As Range) As Long Dim cell As Range, cnt As Long For Each cell In rng If cell.MergeCells Then If Len(cell.MergeArea.Cells(1, 1).Value) = 0 Then cnt = cnt + cell.MergeArea.Cells.Count Else If Len(cell.Value) = 0 Then cnt = cnt + 1 End If Next cell CountBlankMerged = cnt
End Function

Sau khi thêm hàm vào mô-đun, bạn có thể dùng trong ô:

=CountBlankMerged(A1:D20)

4. Đếm ô trống bằng PivotTable

PivotTable (Bảng tổng hợp) là công cụ mạnh để tóm tắt dữ liệu, nhưng mặc định không tính ô trống. Để đưa ô trống vào PivotTable:

Đếm Ô Trống Trong Excel
Đếm Ô Trống Trong Excel
  1. Chọn dữ liệu → Insert → PivotTable.
  2. Kéo cột bạn muốn đếm vào Values.
  3. Click vào Value Field Settings → Summarize value field by → Count.
  4. Để hiển thị “(blank)”, kéo cùng cột vào Rows hoặc Columns. Excel sẽ tự động tạo mục “(blank)”.
  5. Để lấy số lượng ô trống, bạn chỉ cần đọc giá trị ở hàng “(blank)”.

Nếu bạn muốn đếm ô trống kèm tiêu chí, hãy dùng Filters hoặc Report Filter để lọc.

5. Đếm ô trống bằng Power Query (Get & Transform)

Power Query cho phép xử lý dữ liệu trước khi tải vào bảng tính. Đối với việc đếm ô trống:

  1. Data → Get Data → From Table/Range (hoặc từ nguồn khác).
  2. Trong Power Query Editor, chọn cột cần kiểm tra.
  3. Sử dụng Transform → Replace Values để thay thế null bằng một giá trị tạm (ví dụ: “blank”).
  4. Thêm Custom Column với công thức:
= if Cột = null then 1 else 0
  1. Sử dụng Group By để tổng hợp cột mới, cho ra tổng số ô trống.

Power Query cũng hỗ trợ Advanced Editor để viết mã M tùy chỉnh:

let Source = Excel.CurrentWorkbook(){Name="Table1"}Content, AddBlankFlag = Table.AddColumn(Source, "IsBlank", each if Record.FieldValues(_) = null then 1 else 0, Int64.Type), CountBlank = List.Sum(AddBlankFlagIsBlank)
in CountBlank

Kết quả sẽ là một giá trị số duy nhất, có thể tải lại vào một ô trong Excel.

6. Đếm ô trống bằng VBA – Tự động hoá quy trình

Khi bạn cần đếm ô trống trong nhiều sheet, dải dữ liệu động, hoặc muốn gắn macro vào nút bấm, VBA là giải pháp tốt.

6.1. Macro đơn giản đếm ô trống trong một dải

Sub CountBlankCells() Dim rng As Range Dim cnt As Long Set rng = Application.InputBox("Chọn dải ô cần đếm:", Type:=8) cnt = Application.WorksheetFunction.CountBlank(rng) MsgBox "Số ô trống trong dải đã chọn: " & cnt, vbInformation
End Sub

6.2. Đếm ô trống trên toàn workbook

Sub CountBlankInWorkbook() Dim ws As Worksheet Dim totalBlank As Long Dim rng As Range totalBlank = 0 For Each ws In ThisWorkbook.Worksheets On Error Resume Next Set rng = ws.UsedRange totalBlank = totalBlank + Application.WorksheetFunction.CountBlank(rng) On Error GoTo 0 Next ws MsgBox "Tổng số ô trống trong toàn workbook: " & totalBlank, vbInformation
End Sub

6.3. Đếm ô trống (bao gồm công thức trả về "") trong một dải

Function CountBlankOrEmpty(rng As Range) As Long Dim cell As Range, cnt As Long For Each cell In rng If Len(cell.Value) = 0 Then cnt = cnt + 1 Next cell CountBlankOrEmpty = cnt
End Function

Sử dụng trong ô:

=CountBlankOrEmpty(A1:C10)

6.4. Gắn macro vào nút bấm trên sheet

  1. Insert → Shapes → Choose shape → Vẽ nút.
  2. Click chuột phải → Assign Macro… → Chọn macro CountBlankCells.
  3. Khi người dùng click, hộp thoại sẽ hiện số ô trống.

7. Ứng dụng thực tế của việc đếm ô trống

7.1. Kiểm tra độ đầy đủ của dữ liệu khảo sát

Trong một bảng khảo sát, mỗi câu hỏi là một cột. Khi thu thập dữ liệu, bạn muốn biết câu hỏi nào có tỷ lệ trả lời thấp nhất.

=COUNTBLANK(TableSurveyHỏi1)/ROWS(TableSurvey)

Kết quả là tỷ lệ phần trăm trả lời thiếu.

7.2. Xác định ngày chưa nhập dữ liệu trong báo cáo doanh thu hằng ngày

Giả sử cột A là ngày, cột B là doanh thu. Để biết có bao nhiêu ngày chưa nhập doanh thu:

=COUNTIF(B2:B366, "")

Bạn có thể kết hợp với IFERROR để lọc lỗi.

7.3. Đánh giá chất lượng dữ liệu trong hệ thống ERP

Trong một hệ thống ERP, mỗi bản ghi phải có ít nhất 5 trường bắt buộc. Bạn có thể tạo một cột phụ “MissingCount” dùng công thức:

=SUMPRODUCT(--(LEN(A2:E2)=0))

Sau đó lọc các bản ghi có MissingCount>0 để xử lý.

7.4. Tự động gửi email nhắc nhập dữ liệu

Kết hợp VBA với Outlook, bạn có thể viết macro:

Sub NotifyMissingData() Dim ws As Worksheet, rng As Range, cnt As Long Set ws = ThisWorkbook.Sheets("Báo cáo") Set rng = ws.Range("B2:B100") cnt = Application.WorksheetFunction.CountBlank(rng) If cnt > 0 Then Dim outlook As Object, mail As Object Set outlook = CreateObject("Outlook.Application") Set mail = outlook.CreateItem(0) With mail .To = "manager@example.com" .Subject = "Báo cáo: " & cnt & " ô trống trong doanh thu" .Body = "Vui lòng kiểm tra và nhập dữ liệu cho các ô trống." .Send End With End If
End Sub

8. Các lỗi thường gặp và cách khắc phục

Lỗi / Vấn đềNguyên nhânGiải pháp
COUNTBLANK không đếm ô có công thức trả về ""COUNTBLANK chỉ nhận ô thực sự trống.Dùng COUNTIF(range,"") hoặc SUMPRODUCT(--(LEN(range)=0)).
Đếm sai khi có ô chứa khoảng trắng (" ").Khoảng trắng không phải là chuỗi rỗng.Dùng TRIM trong công thức: COUNTIF(range,TRIM("")) hoặc SUMPRODUCT(--(LEN(TRIM(range))=0)).
Khi dùng COUNTIF trên dải lớn, Excel trả về #VALUE!Dải quá lớn (> 8,192 cột) hoặc chứa mảng không hỗ trợ.Giảm kích thước dải, hoặc dùng SUMPRODUCT.
PivotTable không hiển thị “(blank)”Trường dữ liệu được thiết lập làm “Do not show items with no data”.Click vào dropdown của trường → “Field Settings” → “Layout & Print” → Tick “Show items with no data”.
VBA trả về 0 khi có ô trốngSử dụng Range.Value thay vì Range.Text cho ô hợp nhất.Kiểm tra cell.MergeArea.Cells(1,1).Value.

9. Tối ưu hoá hiệu suất khi đếm ô trống trên dữ liệu lớn

Khi dải dữ liệu lên tới hàng chục hoặc hàng trăm nghìn dòng, một số công thức có thể làm chậm Excel. Dưới đây là một số mẹo:

  1. Sử dụng hàm mảng động (Dynamic Array) chỉ một lần: Thay vì lặp COUNTIF cho nhiều cột, dùng LET để lưu dải và tái sử dụng.
    excel =LET(rng, A1:Z100000, COUNTBLANK(rng))
  2. Tính toán trong Power Query: Trước khi tải dữ liệu vào Excel, xử lý trong Power Query để giảm kích thước và tính toán trước.
  3. Sử dụng VBA với Application.ScreenUpdating = False để tránh cập nhật màn hình khi chạy vòng lặp.
  4. Giới hạn UsedRange: Đảm bảo UsedRange không bao gồm các ô rỗng vô hạn (đôi khi Excel mở rộng vùng sử dụng do định dạng). Dùng Ctrl+End để kiểm tra, hoặc xóa các hàng/ cột không cần thiết.
  5. Tránh sử dụng Array Formulas trên toàn cột (ví dụ: =SUMPRODUCT(--(LEN(A:A)=0))). Thay vào đó, chỉ định dải thực tế (A2:A10000).

10. Tổng kết

Việc đếm ô trống trong Excel không chỉ là một thao tác đơn giản mà còn là nền tảng để:

  • Đánh giá chất lượng dữ liệu.
  • Tự động hoá các quy trình kiểm tra.
  • Tạo báo cáo chính xác hơn.
  • Phát hiện và khắc phục lỗi nhập liệu nhanh chóng.

Trong bài viết, chúng ta đã:

  1. Hiểu rõ khái niệm ô trống và các loại ô liên quan.
  2. Sử dụng hàm sẵn có (COUNTBLANK, COUNTIF) cho các trường hợp cơ bản.
  3. Áp dụng các công thức nâng cao (SUMPRODUCT, LET, FILTER) để đáp ứng yêu cầu phức tạp.
  4. Tận dụng PivotTable, Power Query và VBA để xử lý dữ liệu lớn và tự động hoá.
  5. Xem xét các trường hợp đặc biệt như ô hợp nhất, ô lỗi và ô chứa công thức trả về "".
  6. Thực hiện các biện pháp tối ưu hoá hiệu suất khi làm việc với dữ liệu quy mô lớn.

Bằng cách nắm vững các kỹ thuật trên, bạn sẽ tự tin hơn trong việc quản lý và phân tích dữ liệu, đồng thời giảm thiểu thời gian và công sức cho các công việc kiểm tra dữ liệu thủ công. Hãy thử áp dụng ngay vào dự án hiện tại của bạn và cảm nhận sự khác biệt!

Chúc bạn thành công!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận