2016-06-14 4 views
0

저는 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와 같은 방식으로)의 조합을 알아낼 수 있습니까? 감사. FIND는 대소 문자를 구분하기 때문에

답변

2

, 당신은 사용할 수 있습니다 : 수식을 배열 입력 할 필요가 없습니다

=COUNT(INDEX(FIND("TBA",A1:A7),)) 

인덱스 기능은있다.

+0

쉽게 알면 쉽게 알 수 있습니까? 완벽하게 작동합니다 - 고마워요. –

+0

대개! :) – Rory

관련 문제