Bỏ qua nội dung chính

Làm cách nào để đếm / tính tổng các ô gạch ngang trong Excel?

Trong Excel, chúng tôi luôn định dạng gạch ngang đối với một số ô cho biết giá trị ô là vô dụng hoặc không hợp lệ, để chúng tôi có thể phân tích dữ liệu chính xác hơn. Trong bài viết này, tôi sẽ nói về cách thực hiện một số phép tính trong phạm vi với các ô gạch ngang này trong Excel.

Đếm các ô gạch ngang trong Excel

Đếm không có ô gạch ngang trong Excel

Tính tổng loại trừ các ô gạch ngang trong Excel


mũi tên màu xanh bong bóng bên phải Đếm các ô gạch ngang trong Excel

Nếu bạn muốn biết có bao nhiêu ô có định dạng gạch ngang trong một phạm vi, bạn có thể tạo một Hàm do Người dùng Xác định, vui lòng thực hiện theo các bước sau:

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Đếm các ô gạch ngang

Public Function CountStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If pRng.Font.Strikethrough Then
        xOut = xOut + 1
    End If
Next
CountStrike = xOut
End Function

3. Sau đó, lưu và đóng mã này, rồi quay lại trang tính, rồi nhập công thức này = CountStrike (A2: B14) vào một ô trống, xem ảnh chụp màn hình:

doc-count-tấn công-1

4. Sau đó nhấn đăng ký hạng mục thi và tất cả các ô gạch ngang đã được đếm. Xem ảnh chụp màn hình:

doc-count-tấn công-1


mũi tên màu xanh bong bóng bên phải Đếm không có ô gạch ngang trong Excel

Tuy nhiên, đôi khi, bạn có thể chỉ muốn đếm số lượng các ô bình thường không bao gồm các ô gạch ngang. Đoạn mã sau đây có thể giúp bạn.

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Đếm không có ô gạch ngang

Public Function CountNoStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If Not pRng.Font.Strikethrough Then
        xOut = xOut + 1
    End If
Next
CountNoStrike = xOut
End Function

3. Sau đó, lưu và đóng mã này, quay lại trang tính của bạn, nhập công thức này = countnostrike (A2: B14) vào một ô trống và nhấn đăng ký hạng mục thi chính, sau đó bạn sẽ nhận được kết quả bạn cần.

doc-count-tấn công-1

Chú thích: Trong các công thức trên, A2: B14 là phạm vi bạn muốn áp dụng các công thức.


mũi tên màu xanh bong bóng bên phải Tính tổng loại trừ các ô gạch ngang trong Excel

Bởi vì các ô gạch ngang không được sử dụng, ở đây, tôi chỉ muốn tính tổng các số bình thường mà không có các số gạch ngang. Để giải quyết nhiệm vụ này, bạn cũng cần một Hàm do Người dùng Xác định.

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Tính tổng loại trừ các ô gạch ngang

Public Function ExcStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If Not pRng.Font.Strikethrough Then
        xOut = xOut + pRng.Value
    End If
Next
ExcStrike = xOut
End Function

3. Sau đó, lưu và đóng mã này, quay lại trang tính của bạn, nhập công thức này = excstrike (B2: B14) vào một ô trống và nhấn đăng ký hạng mục thi và bạn sẽ nhận được tổng của tất cả các số mà không có ô gạch ngang. Xem ảnh chụp màn hình:

doc-count-tấn công-1

Chú thích: Trong các công thức trên, B2: B14 là phạm vi bạn muốn tính tổng các ô mà không có định dạng gạch ngang.


Các bài liên quan:

Làm cách nào để tính tổng / đếm các số in đậm trong một dải ô trong Excel?

Làm cách nào để đếm và tính tổng các ô dựa trên màu nền trong Excel?

Làm cách nào để đếm / tổng các ô dựa trên màu phông chữ trong Excel?

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I want to ignore the cell from count where both type of text strike and non strike available by VBA
This comment was minimized by the moderator on the site
Great! I found a little bug here. The result doesn't actualize by itself. When I do changes on the sheet, the number doesn't changes. How can I fix it? Thanks
This comment was minimized by the moderator on the site
Hi. Great code for ignoring strikethrough text whilst summing. But, is it possible to filter the data and get a subtotal which still sums without the strike through text? Thanks
This comment was minimized by the moderator on the site
This seems to round to whole numbers, and does not take into account the decimal places. For example, 1.35 + 1.00 would equal 2 instead of 2.35, but 1.50 + 1 would equal 3 instead of 2.50. How can you fix the code to add accurately?
This comment was minimized by the moderator on the site
[quote]This seems to round to whole numbers, and does not take into account the decimal places. For example, 1.35 + 1.00 would equal 2 instead of 2.35, but 1.50 + 1 would equal 3 instead of 2.50. How can you fix the code to add accurately?By Ari[/quote] ARI, just change the two words "Long" to "Double" in the formula. Here is the same formula above, with the correct Data Types to allow for values with decimal points: Public Function ExcStrike(pWorkRng As Range) As Double 'Update 20161107_IITCSglobal.com Application.Volatile Dim pRng As Range Dim xOut As Double xOut = 0 For Each pRng In pWorkRng If Not pRng.Font.Strikethrough Then xOut = xOut + pRng.Value End If Next ExcStrike = xOut End Function
This comment was minimized by the moderator on the site
Thank you very much for this information, it's extremely helpful, However, I'm having an issue using the VBA code: Sum exclude strikethrough cells.

It does not exclude the strikethrough cells in my table unless I manually perform a strikethrough then double click the cell for the code to work.

I'm using a table with a conditional format to shade and strikethrough the entire row when (Table Header called Sold) Column "W" cell contains a "Yes", then that row will have a strikethrough and grey color. The worksheet table is "InventoryItems" and is configured to calculated automatically, but the code is not being triggered to exclude the dollar amount when the cell contains the strikethrough. Could you advise what I might be doing wrong?
Thank you for your time and help.

There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations