케이스에 따라 셀 수 세기 (Microsoft Excel)
Excel을 사용하여 텍스트가 포함 된 셀 그룹을 분석하는 경우 대문자가 포함 된 셀 수, 소문자가 포함 된 숫자 및 대소 문자가 혼합 된 숫자를 확인할 수 있습니다.
이 작업에 접근 할 수있는 방법에는 두 가지가 있습니다. 일반 워크 시트 공식을 사용하거나 사용자 정의 함수를 정의하는 것입니다.
평가하려는 텍스트가 A1 셀에서 시작하여 A 열에있는 경우 B1 셀에서 다음 수식을 사용할 수 있습니다.
=IF(A1>"",IF(EXACT(UPPER(A1),A1),"Upper", IF(EXACT(LOWER(A1),A1),"Lower","Mixed")),"")
수식은 A1에 어떤 것이 있는지 확인합니다. 있는 경우 EXACT 함수를 사용하여 내용을 셀 내용의 다양한 변환과 비교합니다. A1 셀이 비어 있거나 Upper, Lower 또는 Mixed라는 단어가있는 경우 수식은 빈 문자열을 반환합니다.
필요한만큼 B 열 아래로 수식을 복사 한 다음 다음 형식의 수식을 사용하여 개수를 결정할 수 있습니다.
=COUNTIF(B:B,"Upper")
소문자 또는 대소 문자 혼합 셀 수를 찾으려면 “Upper”를 “Lower”또는 “Mixed”로 바꾸십시오.
이 방식으로 수식을 사용하려면 워크 시트에 열을 추가해야합니다. 이러한 방식으로 중간 열을 사용하지 않는 다른 수식 접근 방식을 사용할 수 있습니다.
대문자 만 포함하는 A1 : A100 범위의 셀 수를 반환하는 다음 수식을 고려하십시오.
=SUMPRODUCT(--(EXACT(A1:A100,UPPER(A1:A100))),--(A1:A100<>""))
이 수식의 변형을 사용하여 소문자 셀 수를 반환 할 수 있습니다. 다음에서 변경된 유일한 것은 UPPER 함수 대신 LOWER 함수를 사용하는 것입니다.
=SUMPRODUCT(--(EXACT(A1:A100,LOWER(A1:A100))),--(A1:A100<>""))
대소 문자가 혼합 된 셀을 확인하려면 두 SUMPRODUCT 기반 수식을 혼합해야합니다.
=SUMPRODUCT(--(NOT(EXACT(A1:A100,UPPER(A1:A100)))),-- (NOT(EXACT(A1:A100,LOWER(A1:A100)))),--(A1:A100<>""))
이러한 공식에는 몇 가지 단점이 있으며, 이전 공식에서는 분명하지 않은 단점이 있습니다. 첫째, 셀에 숫자 값이 포함 된 경우 이러한 수식은 셀을 대문자로 계산할 수 있습니다. 둘째, 셀에 오류 값이 있으면 수식이 오류를 반환합니다.
케이스를 자주 계산해야하는 경우 계산을 수행하는 사용자 정의 함수를 만드는 것이 더 나을 것입니다. 이러한 함수를 작성할 수있는 방법은 여러 가지가 있지만 일반적인 지침은 다음과 같습니다.
범위의 각 셀을 단계별로 이동 셀이 대문자, 소문자 또는 대소 문자 혼합인지 확인 일부 카운터 증가 값 반환
다음 매크로는 위의 구현 방법에 대한 한 가지 예입니다.
Function CountCase(rng As Range, sCase As String) As Long Dim vValue Dim lUpper As Long Dim lMixed As Long Dim lLower As Long Dim rCell As Range lUpper = 0 lLower = 0 lMixed = 0 For Each rCell In rng If Not IsError(rCell.Value) Then vValue = rCell.Value If VarType(vValue) = vbString _ And Trim(vValue) <> "" Then If vValue = UCase(vValue) Then lUpper = lUpper + 1 ElseIf vValue = LCase(vValue) Then lLower = lLower + 1 Else lMixed = lMixed + 1 End If End If End If Next Select Case UCase(sCase) Case "U" CountCase = lUpper Case "L" CountCase = lLower Case "M" CountCase = lMixed Case Else CountCase = CVErr(xlErrValue) End Select End Function
셀이 대 / 소문자 또는 혼합 케이스인지 결정하는 것은 분명히 이와 같은 매크로의 핵심입니다. 이러한 결정은 워크 시트 공식에서 수행 한 것과 동일한 프로세스를 사용합니다. 셀 내용을 해당 내용의 대문자 또는 소문자 변환과 비교합니다. 이 매크로에서 셀 값 (vValue)은 UCase 또는 LCase 함수로 변환 된 vValue와 비교됩니다.
또한이 함수는 평가할 수없는 셀을 무시합니다.
숫자 값, 부울 값, 오류 값, 빈 셀 및 공백 만 포함 된 셀을 포함하는 셀을 무시합니다. 숫자 값이 텍스트 형식이면 함수는 해당 셀을 대문자로 계산합니다. 이 사용자 정의 함수를 사용하려면 워크 시트에서 다음과 같은 수식을 사용하십시오.
=COUNTCASE(A1:A100, "L")
첫 번째 인수의 경우 평가하려는 범위를 사용합니다. 두 번째 인수는 반환 할 개수를 나타내는 단일 문자 (L, M 또는 U)입니다. 두 번째 인수에 다른 값을 사용하면 함수가 오류를 반환합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (10593)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Counting_Cells_According_to_Case [케이스에 따른 셀 계수]
.