Бройте, ако клетката съдържа текст в Excel (5 лесни подхода)

  • Споделя Това
Hugh West

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

Изтегляне на работна тетрадка за практика

Брой Ако клетката съдържа Text.xlsm

5 лесни подхода за преброяване дали клетката съдържа текст в 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 .

⧪ Обяснение на формулата:

  • Сайтът COUNTIFS функция първо преброява всички клетки, които отговарят на първия критерий.
  • След това се преброяват всички клетки, които отговарят на втория критерий, и т.н.
  • Тук първо се преброяват всички клетки в обхвата C4:C13 които са текстови стойности ( "*" ).
  • След това отново преброява всички клетки, които не съдържат текста. "gmail" ( "*gmail*" ). Тук "*gmail*" означава Не е равно на "*gmail* " .
  • По този начин формулата преброява всички клетки, които съдържат текстови стойности, но без "gmail" .

5. Изпълнение на код VBA за едновременното изпълнение на всички задачи

Досега изпълнихме поотделно четири задачи:

  1. Преброяване на броя на клетките, които съдържат текстове
  2. След това пребройте броя на клетките, които не съдържат текстове
  3. Преброяване на броя на клетките, които съдържат текстове, но включват определен текст
  4. Преброяване на броя на клетките, които съдържат текстове, но изключват определен текст

Сега ще разработим Macro с помощта на Код VBA който може да изпълнява и четирите задачи едновременно.

⧪ Стъпка 1:

Натиснете ALT+F11 на клавиатурата. VBA прозорец ще се отвори.

⧪ Стъпка 2:

Отидете в Вмъкване на в раздела VBA прозорец.

От наличните опции изберете Модул .

⧪ Стъпка 3:

Нов прозорец на модул, наречен "Модул 1" ще се отвори.

Вмъкнете следното VBA код в модула.

⧪ Код:

 Sub Count_If_Cell_Contains_Text() Dim Count As Integer Count = 0 Задача = Int(InputBox("Въведете 1, за да преброите клетките, които съдържат текстове: " + vbNewLine + "Въведете 2, за да преброите клетките, които не съдържат текстове: " + vbNewLine + "Въведете 3, за да преброите текстовете, които включват определен текст: " + vbNewLine + "Въведете 4, за да преброите текстовете, които изключват определен текст: ")) 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 ThenТекст = LCase(InputBox("Въведете текста, който искате да изключите: ")) За i = 1 До Selection.Rows.Count Ако VarType(Selection.Cells(i, 1)) = 8 Тогава Dim Exclude Като Integer Exclude = 0 За j = 1 До Len(Selection.Cells(i, 1)) Ако LCase(Mid(Selection.Cells(i, 1), j, Len(Text)) = Текст Тогава Exclude = Exclude + 1Exit For End If Next j If Exclude = 0 Then Count = Count + 1 End If End If Next i MsgBox Count Else MsgBox "Please Enter an Integer between 1 to 4." End If End Sub 

⧪ Бележки:

  • Този код създава Macro наречен Count_If_Cell_Contains_Text .

⧪ Стъпка 4:

Запишете работната книга като Работна книга с макроси на Excel .

⧪ Стъпка 5:

➤ Върнете се към работния лист.

Изберете обхвата от клетки във вашия набор от данни, където искате да преброите текстовете.

⧪ Стъпка 6:

➤ След това натиснете ALT+F8 на клавиатурата.

➤ Диалогов прозорец, наречен Macro ще се отвори. Изберете Count_If_Cell_Contains_Text ( Името на Macro ) и щракнете върху Изпълнявайте .

⧪ Стъпка 7:

Един Поле за въвеждане ще се появи покана да въведете цяло число от 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, както и да включите или изключите определен текст. Знаете ли друг метод? Или имате въпроси? Не се колебайте да ни попитате.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.