Я пытаюсь найти собственную функцию Excel (или их комбинацию), которая будет вести себя точно в виде COUNTIF (например, будет обрабатывать подстановочные знаки), но учитывает регистр.Excel с учетом регистра COUNTIF с подстановочными знаками: нативная функция?
Я успешно использовал функции SUMPRODUCT/EXACT, которые действительно выполняют регистр с учетом регистра: однако проблема в том, что я не могу заставить их распознавать подстановочные знаки.
Возможно, лучше привести пример того, что мне действительно нужно. Я хочу взять диапазон и искать количество вхождений текста «TBA», где буквы должны быть в столицах, но они могут появляться в любом месте ячейки. Например:
TBA - должны рассчитывать
TBA - не должны рассчитывать
somethingTBAsomething - должны рассчитывать
somethingtBasomething - не должны рассчитывать
=COUNTIF(A1:A10,"*TBA*")
' Correctly accounts for wildcards (*), but isn't case-sensitive
=SUMPRODUCT(--EXACT(A1:A10,"TBA"))
' Is case-sensitive, but only finds whole cell values which match
=SUMPRODUCT(--EXACT(A1:A10,"*TBA*"))
' Doesn't recognise * as a wildcard, because it's
' literally only searching for cells with asterisks
' either side of the letters
Чтобы решить мою проблему у меня есть записал пользовательскую функцию следующим образом:
Option Compare Binary
' Case-sensitive COUNTIF
Function CS_Countif(rng As Range, str As String) As Long
Dim Matches As Long, cl As Range
For Each cl In rng
If InStr(cl.Value, str) > 0 Then Matches = Matches + 1
Next cl
CS_Countif = Matches
End Function
Однако эта функция замедляет вычисление электронной таблицы, и есть заметная задержка каждый раз, когда обновляется одна из ячеек соответствующего диапазона.
Может ли кто-нибудь определить комбинацию собственных функций Excel (так же, как SUMPRODUCT/EXACT), которые будут делать то, что я ищу? Благодарю.
Легко, когда вы знаете, как, а? Работает отлично - спасибо :) –
Обычно это! :) – Rory