Đếm các ô màu trống (Microsoft Excel)
Cindy có một trang tính được định dạng đầy đủ sử dụng màu trong nhiều ô.
Một số ô có giá trị trong chúng; nhiều người không. Cô ấy cần một cách để đếm bất kỳ ô màu nào còn trống và tự hỏi liệu có cách nào nhanh chóng để làm điều này không.
Có một số cách để bạn có được thông tin bạn cần. Một cách là thực hiện các bước sau:
-
Tìm ra màu mà bạn muốn sử dụng trong số lượng của mình.
-
Nhấn F5. Excel sẽ hiển thị hộp thoại Đi tới.
-
Nhấp vào nút Đặc biệt. Excel sẽ hiển thị hộp thoại Đi đến Đặc biệt.
(Xem Hình 1.)
-
Chọn nút radio Blanks.
-
Bấm OK. Bây giờ tất cả các ô trống trong trang tính đã được chọn.
-
Nhấn Ctrl + F. Excel sẽ hiển thị tab Tìm của hộp thoại Tìm và Thay thế.
-
Nhấp vào nút Tùy chọn để mở rộng hộp thoại. (Xem Hình 2.)
-
Nhấp vào nút Định dạng. Excel sẽ hiển thị hộp thoại Tìm Định dạng.
-
Đảm bảo rằng tab Điền được hiển thị. (Xem Hình 3.)
-
Nhấp vào màu bạn muốn tìm kiếm. (Đây là màu bạn đã xác định ở bước 1)
-
Bấm OK để đóng hộp thoại Tìm Định dạng.
-
Nhấp vào Tìm tất cả.
Khi bạn thực hiện các bước này, ở cuối hộp thoại Tìm và Thay thế, Excel sẽ hiển thị số ô tìm thấy phù hợp với màu của bạn. Vì bạn bắt đầu tìm kiếm chỉ với các ô trống được chọn, nên số lượng kết quả là tất cả các ô trống được tô màu.
Tất nhiên, nếu bạn cần xác định số lần này khá nhiều lần, thì các bước này có thể trở nên tẻ nhạt rất nhanh. Trong những trường hợp như vậy, tốt hơn là sử dụng macro. Macro sau đây sẽ bước qua từng ô trống trong bất kỳ phạm vi nào bạn đã chọn và kiểm tra xem nó có chứa một mẫu hoặc một màu nào và có trống không. Nếu các điều kiện được đáp ứng, thì bộ đếm cho màu đó sẽ tăng lên.
Sub CountBlankColors1() Dim c As Range Dim J As Integer Dim ColorCount(56) As Long ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select For Each c In Selection With c.Interior If .Pattern <> xlNone Then If .ColorIndex <> xlNone Then If IsEmpty(c) Then ColorCount(.ColorIndex) = _ ColorCount(.ColorIndex) + 1 End If End If End If End With Next c sTemp = "These are the color counts" & vbCrLf & vbCrLf For J = 0 To 56 If ColorCount(J) > 0 Then sTemp = sTemp & "Color " & J & ": " & ColorCount(J) & vbCrLf End If Next J MsgBox sTemp End Sub
Tất nhiên, bạn có thể không muốn đếm từng màu khác nhau.
Thay vào đó, bạn có thể muốn biết tổng thể có bao nhiêu ô trống được tô bằng bất kỳ màu nào. Trong trường hợp đó, macro trở nên đơn giản hơn nhiều.
Sub CountBlankColors2() Dim c As Range Dim x As Long x = 0 ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select For Each c In Selection If c.Interior.Pattern <> xlNone Then If c.Interior.ColorIndex <> xlNone Then If IsEmpty(c) Then x = x + 1 End If End If Next c MsgBox "Number of colored blank cells: " & x End Sub
Cần lưu ý rằng các phương pháp này không xem xét ô có được tô màu thông qua việc sử dụng định dạng có điều kiện hay không.
(Trên thực tế, họ không tính đến các định dạng có điều kiện.)
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (12581) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.