Оглавление
В этой статье я покажу, как вы можете подсчитать, содержит ли ячейка текст в Excel. Я покажу, как подсчитать количество ячеек, содержащих текст, а также количество ячеек, содержащих текст, но включающих или исключающих определенное текстовое значение.
Скачать Рабочую тетрадь для практических занятий
Count If Cell Contains Text.xlsm5 простых подходов к подсчету, если ячейка содержит текст в Excel
Здесь у нас есть набор данных с параметрами Имена некоторых клиентов и их Контактные адреса компании под названием "Детский сад "Подсолнух".
Сегодня наша цель - подсчитать, сколько адресов среди контактных адресов являются Электронная почта Адреса.
Это означает, что мы будем считать адрес, если он является текстом, а не числом.
1. использование функции COUNTIF для подсчета, содержит ли ячейка текст в Excel
Вы можете использовать Функция COUNTIF Excel для подсчета количества ячеек, содержащих текст.
Чтобы добиться этого, используйте Символ звездочки (*) как критерии из COUNTIF функция .
Поэтому формула для подсчета общего количества Электронная почта Адреса будут такими:
=COUNTIF(C4:C13, "*")
[ Здесь C4:C13 это диапазон моих контактных адресов. Вы вставляете его в соответствии с вашими потребностями].
Смотрите, подсчитано общее количество текстовых адресов, т.е, Электронная почта адреса.
В результате 7 .
Читайте также: Как подсчитать ячейки в Excel с разным текстом (5 способов)
2. Комбинация функций ISTEXT и SUMPRODUCT для подсчета, содержит ли ячейка текст в Excel
Вы также можете использовать комбинацию из Функция ISTEXT и Функция SUMPRODUCT на подсчитывать клетки которые содержат текстовые значения в Excel.
Для подсчета количества Электронная почта Адреса таким образом, выберите любую ячейку в наборе данных и введите эту формулу:
=SUMPRODUCT(--ISTEXT(C4:C13))
[ Здесь C4:C13 это диапазон моих контактных адресов. Вы вставляете его в соответствии с вашими потребностями].
Смотрите, мы снова успешно подсчитали количество текстовых адресов. И это 7 .
⧪ Объяснение формулы:
- ISTEXT(C4:C13) проверяет каждую ячейку диапазона C4:C13 и возвращает TRUE если ячейка содержит текст. В противном случае возвращается значение FALSE .
- Таким образом, ISTEXT(C4:C13) возвращает массив булевых значений, TRUE и FALSE .
- -ISTEXT(C4:C13) преобразует массив, возвращенный Функция ISTEXT в массив из 1 и 0.
- Он преобразует TRUE в 1 и FALSE в 0 .
- Наконец, в Функция SUMPRODUCT возвращает сумму всего диапазона. То есть, возвращает количество единиц в диапазоне.
- Таким образом, формула возвращает количество ячеек, содержащих текстовые значения в пределах диапазона.
3. использование функции COUNTIF для подсчета, содержит ли ячейка текст, включающий определенный текст в Excel
До сих пор мы считали количество ячеек, содержащих текстовые адреса, то есть, Электронная почта Адреса.
Вы также можете использовать Функция COUNTIF на подсчитывает количество ячеек, содержащих текстовые значения, включающие определенный текст.
Например, давайте попробуем подсчитать количество клиентов, которые используют Gmail Адреса
Для этого нужно подсчитать количество ячеек, в которых содержится строка "gmail" в них.
Просто. Просто оберните текст "gmail" в пределах Символ звездочки (*) в пределах Функция COUNTIF в качестве критерии .
Формула будет такой:
=COUNTIF(C4:C13,"*gmail*")
⧪ Примечания:
- Здесь C4:C13 это диапазон моих контактных адресов.
- И "gmail" это конкретный текст, который мы ищем.
- Вы вставляете их в соответствии со своими потребностями.
Смотрите, он успешно подсчитал общее количество клеток, содержащих Gmail Адреса .
И это 4 .
⧪ Объяснение формулы:
- Здесь критерии Функция COUNTIF это "*gmail*" Он подсчитывает все строки с текстовым значением "gmail" в нем.
- Поэтому, COUNTIF(C4:C13, "*gmail*") подсчитывает все ячейки в пределах диапазона C4:C13 которые содержат текст "gmail" .
Читать далее: Как подсчитать конкретные слова в столбце в Excel (2 метода)
4. использование функции COUNTIFS для подсчета, содержит ли ячейка текст, исключая определенный текст в Excel
В предыдущем разделе мы попытались подсчитать количество ячеек, которые содержат текстовые значения, включающие определенный текст.
Мы также можем подсчитать количество ячеек, которые содержат текстовые значения, исключая определенный текст.
Вы должны использовать Функция COUNTIFS вместо COUNTIF функция для этого.
Например, попробуем подсчитать количество ячеек, которые содержат Электронная почта Адреса, но не Gmail Адреса.
Здесь нам нужно подсчитать количество ячеек, которые содержат текстовые значения, исключающие строку "Gmail" .
Выберите любую подходящую ячейку и введите эту формулу:
=COUNTIFS(C4:C13,"*",C4:C13,"*gmail*")
⧪ N otes:
- Здесь C4:C13 это диапазон моих контактных адресов.
- И "gmail" это конкретный текст, который мы хотим исключить.
- Вы вставляете их в соответствии со своими потребностями.
Смотрите, мы снова успешно подсчитали количество Электронная почта адреса, которые не Gmail адреса.
Это 3 .
⧪ Объяснение формулы:
- Сайт КОУНТИФЫ функция сначала подсчитывает все ячейки, которые удовлетворяют первому критерию.
- Затем подсчитываются все ячейки, удовлетворяющие второму критерию, и так далее.
- Здесь сначала подсчитываются все ячейки в диапазоне C4:C13 которые являются текстовыми значениями ( "*" ).
- Затем снова подсчитывает все ячейки, в которых нет текста. "gmail" ( "*gmail*" ). Здесь "*gmail*" обозначает Не равно "*gmail. " .
- Таким образом, формула подсчитывает все ячейки, содержащие текстовые значения, но исключая "gmail" .
5. Запуск кода VBA для одновременного выполнения всех задач
До сих пор мы выполняли четыре задания по отдельности:
- Подсчет количества ячеек, содержащих текст
- Затем подсчитайте количество ячеек, не содержащих текста
- Подсчет количества ячеек, содержащих текст, но включающих определенный текст
- Также подсчитайте количество ячеек, содержащих текст, но исключающих определенный текст
Теперь мы разработаем Макро используя код VBA который может выполнять все четыре задачи одновременно.
⧪ Шаг 1:
➤ Нажмите ALT+F11 на клавиатуре. VBA окно откроется.
⧪ Шаг 2:
➤ Перейти к Вставка вкладка в VBA окно.
➤ Из доступных вариантов выберите Модуль .
⧪ Шаг 3:
➤ Новое окно модуля под названием "Модуль 1" откроется.
➤ Вставить следующее VBA код в модуле.
⧪ Код:
Sub Count_If_Cell_Contains_Text() Dim Count As Integer Count = 0 Task = Int(InputBox("Enter 1 to Count Cells That Contain Texts: " + vbNewLine + "Enter 2 to Count Cells That don't Contain Texts: " + vbNewLine + "Enter 3 to Count Texts That Include a Specific Texts: " + vbNewLine + "Enter 4 to Count Texts That Exclude a Specific Text: ") If Task = 1 Then For i = 1 To Selection.Rows.CountIf VarType(Selection.Cells(i, 1)) = 8 Then Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 2 Then For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) 8 Then Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 3 Then Text = LCase(InputBox("Введите текст, который вы хотите включить: "))For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then For j = 1 To Len(Selection.Cells(i, 1)) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text)) = Text Then Count = Count + 1 Exit For End If Next j End If Next i MsgBox Count ElseIf Task = 4 ThenText = LCase(InputBox("Введите текст, который вы хотите исключить: ")) For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then Dim Exclude As Integer Exclude = 0 For j = 1 To Len(Selection.Cells(i, 1)) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text)) = Text Then Exclude = Exclude + 1Exit For End If Next j If Exclude = 0 Then Count = Count + 1 End If End If End If Next i MsgBox Count Else MsgBox "Please Enter an Integer between 1 to 4." End If End Sub
⧪ Примечания:
- Этот код производит Макро под названием Count_If_Cell_Contains_Text .
⧪ Шаг 4:
➤ Сохраните рабочую книгу как Рабочая книга Excel с поддержкой макросов .
⧪ Шаг 5:
➤ Вернитесь к своему рабочему листу.
➤ Выберите диапазон ячеек в вашем наборе данных, где вы хотите подсчитать тексты.
⧪ Шаг 6:
➤ Затем нажмите ALT+F8 на клавиатуре.
➤ Диалоговое окно под названием Макро откроется. Выберите Count_If_Cell_Contains_Text ( Имя Макро ) и нажмите на Запускайте .
⧪ Шаг 7:
➤ An Блок ввода появится запрос на ввод целого числа от 1 до 4, каждое для определенной задачи, упомянутой в нем.
⧪ Шаг 8:
➤ Если вы хотите подсчитать ячейки, содержащие текстовые значения, введите 1 . Затем нажмите OK .
➤ Появится окно с сообщением о количестве ячеек, содержащих текст ( 7 в данном примере).
⧪ Шаг 9:
➤ Если вы хотите подсчитать ячейки, не содержащие текстовых значений, введите 2 . Затем нажмите OK .
➤ Появится окно с сообщением о количестве ячеек, не содержащих текста ( 3 в данном примере).
⧪ Шаг 10:
➤ Если вы хотите подсчитать ячейки, которые содержат текстовые значения, но включают определенный текст, введите 3 . Затем нажмите OK .
➤ Вы получите еще Блок ввода просит вас ввести определенный текст. Здесь я ввел "gmail" .
⧪ Примечание: Это не зависит от регистра. Это означает, что если вы введете "Gmail" В него также входят "gmail" .
➤ Затем нажмите OK .
➤ Появится окно с сообщением о количестве ячеек, содержащих текст, но включающих конкретный текст ( "gmail" здесь, 4 ).
⧪ Шаг 11:
➤ Если вы хотите подсчитать ячейки, содержащие текстовые значения, но исключающие определенный текст, введите 4 . Затем нажмите OK .
➤ Вы получите еще Блок ввода с просьбой ввести конкретный текст. Здесь я снова ввел "gmail" .
⧪ Примечание: Это также не зависит от регистра. Это означает, что если вы введете "Gmail" это также будет работать нормально.
➤ Затем нажмите OK .
➤ Вы получите окно с сообщением, показывающее количество ячеек, содержащих текст, но исключающих конкретный текст ( "gmail" здесь, 3 ).
Читать далее: Excel VBA для подсчета ячеек, содержащих определенный текст
Заключение
Используя эти методы, вы можете подсчитать, содержит ли ячейка текст в Excel, а также включить или исключить определенный текст. Знаете ли вы какой-либо другой метод? Или у вас есть вопросы? Не стесняйтесь задавать их нам.