Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

В Excel часто применяют форматирование зачеркивания к определенным ячейкам, чтобы пометить данные как устаревшие, нерелевантные или недействительные. Это визуальное указание может значительно улучшить управление данными и помочь сосредоточиться на важной информации во время анализа. Однако, когда дело доходит до выполнения вычислений — таких как подсчет или суммирование — вам может потребоваться разделить результаты для ячеек с зачеркиванием от тех, у которых его нет. Понимание того, как обрабатывать такие ситуации, может оптимизировать ваш рабочий процесс и привести к более точным выводам. В этой статье представлено несколько практических методов для подсчета и суммирования ячеек с зачеркиванием или без него в Excel, используя настраиваемые функции VBA, которые обеспечивают гибкость для различных задач управления данными.

Подсчет ячеек с зачеркиванием с помощью VBA в Excel

Подсчет ячеек без зачеркивания с помощью VBA в Excel

Сумма исключая ячейки с зачеркиванием с помощью VBA в Excel

Подсчет или суммирование ячеек с зачеркиванием с помощью Kutools для Excel


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

Если вам нужно определить общее количество ячеек, отформатированных с зачеркиванием в определенном диапазоне, это нельзя сделать напрямую с помощью встроенных функций Excel, поскольку нет формулы, распознающей форматирование текста, такое как зачеркивание. Поэтому использование пользовательской функции (UDF) в VBA становится практичным решением. Этот подход особенно полезен при управлении списками дел, обновлениями инвентаря или любых сценариях, где зачеркивание используется для обозначения завершенных, недействительных или устаревших данных.

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. В окне VBA нажмите Вставка > Модуль, чтобы создать новый модуль, затем вставьте следующий код в окно Модуля.

Код 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. После ввода кода сохраните свою книгу (чтобы сохранить макрос), затем закройте редактор VBA и вернитесь к вашей таблице. В любой пустой ячейке, где вы хотите видеть результат, введите следующую формулу (например, для проверки ячеек с зачеркиванием в диапазоне A2:B14): =CountStrike(A2:B14)

Совет: Вы можете изменить A2:B14 на любой другой диапазон, который вы хотите проверить.

count strikethrough cells with user defined function

4. Нажмите клавишу Enter, чтобы выполнить формулу, и Excel немедленно отобразит количество всех ячеек с зачеркиванием в указанном диапазоне. Это позволит вам эффективно отслеживать прогресс или удалять устаревшие записи по необходимости. См. скриншот:

count strikethrough cells result

Предостережение: Чтобы гарантировать, что этот код VBA останется доступным для будущего использования, вы должны сохранить файл в формате .xlsm (Excel Macro-Enabled Workbook).


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

Бывают случаи, когда вам может потребоваться подсчет только тех ячеек, у которых нет форматирования зачеркивания в заданном диапазоне. Например, в таблицах отслеживания проектов или данных о продажах вы часто хотите подсчитывать только активные/действительные записи (т.е., те, у которых нет зачеркивания) для дальнейших операций. Функции COUNT или COUNTA по умолчанию в Excel игнорируют форматирование текста, поэтому адаптированное решение VBA предлагает точный контроль над такими потребностями.

1. Нажмите ALT + F11, чтобы запустить окно Microsoft Visual Basic for Applications.

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

count non strikethrough cells with user defined function

Примечание: В приведенном выше примере A2:B14 — это диапазон ячеек, который оценивается. Измените ссылку на диапазон в зависимости от ваших потребностей для вашего листа. Также имейте в виду, что объединенные ячейки или специальное форматирование иногда могут повлиять на результаты — дважды проверьте, что ваш диапазон содержит только нужные ячейки.


Сумма исключая ячейки с зачеркиванием в Excel

При работе с числовыми данными, где некоторые записи больше не активны или должны быть проигнорированы (т.е., имеют форматирование зачеркивания), часто необходимо суммировать только действительные числа. Это распространено в бюджетных таблицах, управлении запасами или отслеживании задач, где записи с зачеркиванием представляют собой устаревшие или завершенные элементы, которые должны быть исключены из итоговых значений. Поскольку встроенная функция СУММ в Excel не различает отформатированные и неотформатированные ячейки, для данной операции требуется пользовательская функция VBA.

1. Используйте ALT + F11, чтобы открыть редактор Microsoft Visual Basic for Applications.

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. Сохраните и закройте редактор VBA. На целевом листе выберите пустую ячейку и введите следующую формулу (например, для B2:B14): =excstrike(B2:B14) Нажмите Enter, и Excel просуммирует только ячейки в указанном диапазоне, у которых нет форматирования зачеркивания, мгновенно предоставляя сумму, которая исключает устаревшие значения.

sum non strikethrough cells with user defined function

Примечание: Измените B2:B14 на ваш реальный диапазон данных. Эта функция игнорирует ячейки с зачеркиванием независимо от их значения. Если вы получаете неожиданные результаты, убедитесь, что все ячейки содержат числовые значения и правильное форматирование.

Практический совет: Если вам нужно обновить сумму после изменения статуса зачеркивания любой ячейки, пересчитайте лист, нажав F9.


Подсчет или суммирование ячеек с зачеркиванием с использованием Kutools для Excel

Если вы хотите подсчитать или суммировать только ячейки, имеющие формат зачеркивания, Excel не предлагает встроенного способа сделать это — но Kutools для Excel делает это легко с помощью своей функции Специальный фильтр.

1. Выберите столбец

Нажмите на столбец, который содержит ячейки с форматированием зачеркивания.

2. Откройте Специальный фильтр

Перейдите на вкладку Kutools Plus, затем нажмите Специальный фильтр > Фильтр зачеркивания.

3. Подтвердите фильтр

Появится диалоговое окно, показывающее, сколько ячеек соответствует условию. Нажмите OK, чтобы продолжить.

kutools-filter-result

4. Просмотрите результаты

Теперь ячейки с зачеркиванием отфильтрованы и видны. Выберите отфильтрованный диапазон — вы сразу увидите Сумму, Среднее значение и Количество в строке состояния Excel внизу.

kutools-count-sum

✨ Почему стоит использовать Kutools?

Kutools для Excel предлагает более 300 мощных и простых в использовании функций, таких как эта — помогая вам экономить время и повышать производительность без написания сложных формул или кода VBA.

Независимо от того, фильтруете ли вы по формату, очищаете данные, объединяете листы или редактируете пакетно, Kutools упрощает вашу работу за считанные секунды.

 Попробуйте Kutools для Excel бесплатно в течение 30 дней и узнайте, чего вам не хватало!


Связанные статьи:

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

Как подсчитать и суммировать ячейки на основе цвета фона в Excel?

Как подсчитать или суммировать ячейки на основе цветов шрифтов в Excel?

Лучшие инструменты для повышения продуктивности в Office

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

Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек