CÔNG TY CỔ PHẦN BLUESOFTS

CÔNG TY CỔ PHẦN BLUESOFTS

Hàm đếm số ô trống trong một vùng bất kỳ

Trong excel, để kiểm tra 1 ô trống ta có thể dùng hàm IS BLANK, để đếm 1 vùng có bao nhiêu ô trống có hàm COUNTBLANK, nhưng hàm đếm ô trống này sẽ đếm bao gồm cả những ô chỉ có 1 dấu nháy đơn. Khi dùng hàm ISBLANK để kiểm tra ô có giá trị là 1 giấu nháy đơn thì kết quả trả về là FALSE, chứng tỏ ô đấy không phải ô trống mà hàm COUNTBLANK lại đếm vào. Vậy hôm nay mình sẽ hướng dẫn các bạn viết 1 hàm đểm những giá trị là trống.

Giả sử ta có bài toán đơn giản như sau:
-> Đếm số ô trống trong 1 vùng dữ liệu bất kỳ. 
Trong bài toán này, vùng dữ liệu bất kỳ là B4:E9, trong vùng dữ liệu có ô D7 chứa giá trị là dấu nháy đơn (không phải trống). Khi đó kết quả trả về phải là 11.
 
 
Để tạo ra một hàm tính tổng điểm theo những điều kiện trên, các bạn làm theo các bước sau:
Bước 1: Các bạn vào môi trường lập trình của Excel (phím tắt ALT+F11), tạo một module và copy code dưới đây vào trong module đó:
Option Explicit
Function DemOTrong(rng As Range) As Long
    Dim i As Long ' Dem so ô cua vung
    Dim j As Long ' Dem so o có du lieu trong vung
    ' Dem so ô cua vung
    i = rng.Cells.Count
    ' Dem so o có du lieu trong vung
    j = WorksheetFunction.CountA(rng)
    'Tong so o trông
    DemOTrong = i - j
End Function
 
 
Bước 2: Tại ô B2, chúng ta sẽ dùng hàm COUNTBLANK để đếm những ô có giá trị trống (hàm Excel thuần túy) B2=COUNTBLANK(B4:E9).
 
 
Bước 3: Tiếp tục dùng hàm DemOTrong mà chúng ta đã viết để so sánh kết quả, B3=DemOTrong(B4:E9). Các bạn chú ý kỹ kết quả của 2 hàm là COUNTBLANK và DemOTrong mà chúng ta tự viết, có 2 kết quả khác nhau. Nguyên nhân là mình đã giải thích ở đầu bài viết, nhưng ở đây mình xin được giải thích lại như sau: Hàm COUNTBLANK 
sẽ đếm tất cả giá trị kể cả giá trị nháy đơn trong ô, mà khi dùng hàm ISBLANK để kiểm tra ô có giá trị nháy đơn vẫn trả về là FALSE (không phải ô trống, các bạn có thể kiểm tra thực tế trên 1 file excl bất kỳ). Còn hàm DemOTrong chỉ đếm những giá trị là trống, không đếm những ô có dấu nháy đơn.
 
 
Các bạn vào đây download file ví dụ: Download

Để tìm hiểu thêm nhiều kiến thức về VBA cơ bản, các bạn tham khảo thêm tại khóa đào tạo VBA cơ bản của công ty. Link khóa học.

Tác giả: Hoàng Phong - Công ty Cổ phần Bluesofts