Прескочи на основното съдържание

Как да преброя / сумирам зачертани клетки в Excel?

Автор: Xiaoyang Последна промяна: 2014-08-28

В Excel винаги форматираме зачертани за някои клетки, които показват, че стойностите на клетките са безполезни или невалидни, така че да можем да анализираме данните по-точно. В тази статия ще говоря за това как да направя някои изчисления в диапазона с тези зачертани клетки в Excel.

Преброяване на зачертани клетки в Excel

Преброяване без зачертани клетки в Excel

Сумата изключва зачертани клетки в Excel


стрелка син десен балон Преброяване на зачертани клетки в Excel

Ако искате да знаете колко клетки със зачеркнат формат в диапазон, можете да създадете дефинирана от потребителя функция, моля, направете следните стъпки:

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: Преброяване на зачертаните клетки

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. След това запазете и затворете този код и се върнете към работния лист, след което въведете тази формула =CountStrike(A2:B14) в празна клетка, вижте екранната снимка:

doc-count-strike-1

4. След това натиснете Въведете ключ и всички зачертани клетки са преброени. Вижте екранна снимка:

doc-count-strike-1


стрелка син десен балон Преброяване без зачертани клетки в Excel

Но понякога може да искате да преброите броя само на нормалните клетки, с изключение на зачертаните клетки. Следният код може да ви помогне.

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: Преброяване без зачертани клетки

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. След това запазете и затворете този код, върнете се към работния си лист, въведете тази формула =countnostrike(A2:B14) в празна клетка и натиснете Въведете ключ, тогава ще получите желания резултат.

doc-count-strike-1

Забележка: В горните формули, A2: B14 е диапазонът, към който искате да приложите формулите.


стрелка син десен балон Сумата изключва зачертани клетки в Excel

Тъй като зачертаните клетки не се използват, тук искам да сумирам само нормалните числа без зачертаните числа. За да разрешите тази задача, вие също се нуждаете от дефинирана от потребителя функция.

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.

VBA код: Сума изключва зачертани клетки

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. След това запазете и затворете този код, върнете се към работния си лист, въведете тази формула =excstrike(B2:B14) в празна клетка и натиснете Въведете и ще получите сумата на всички числа без зачертаните клетки. Вижте екранна снимка:

doc-count-strike-1

Забележка: В горните формули, B2: B14 е диапазонът, в който искате да сумирате клетки без зачеркнат формат.


Още по темата:

Как да сумирате / преброите удебелени числа в диапазон от клетки в Excel?

Как да броим и сумираме клетки въз основа на цвета на фона в Excel?

Как да броим / сумираме клетки въз основа на цветовете на шрифта в Excel?

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
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