문자의 N 번째 발생 찾기 (Microsoft Excel)
Barry는 종종 텍스트 문자열 내에서 N 번째 문자를 식별하기를 원합니다. 그는 초기 발생을 찾기 위해 SEARCH 및 FIND 워크 시트 함수를 사용할 수 있다는 것을 알고 있지만 텍스트 문자열 내에서 문자 “B”의 세 번째 발생을 찾는 방법을 잘 모릅니다.
실제로 SEARCH 함수는 다음과 같은 방식으로 원하는 항목을 찾는 데 사용할 수 있습니다.
=SEARCHB("b",G20,(SEARCHB("b",G20,(SEARCHB("b",G20,1)+1))+1))
SEARCHB 함수가 중첩 방식으로 사용되는 방식에 주목하십시오. 수식은 검색되는 항목 (문자 “b”)을 지정하고 중첩 수준 수는 찾으려는 셀 내에서 발생하는 항목을 나타냅니다. 수식은 셀 내에서 원하는 문자의 위치를 반환합니다.
물론 이러한 공식의 문제는 유지 관리가 어렵고 일곱 번째 발생을 찾으려면 빠르게 사용할 수 없게 될 수 있다는 것입니다.
더 유연한 공식은 다음과 같습니다.
=FIND(CHAR(1),SUBSTITUTE(A1,"B",CHAR(1),3))
이 공식은 A1의 값을 조사합니다. 셀 내에서 세 번째 “B”발생을 CHAR (1) 코드로 대체합니다. 그런 다음 FIND 함수는 결과 문자열에서 CHAR (1)이 발생하는 위치를 찾습니다.
원하는 항목이 없으면 수식이 #VALUE 오류를 반환합니다.
원하는 경우 문자의 N 번째 위치를 찾는 사용자 정의 함수를 만들 수 있습니다. 다음은 검색 할 문자열, 일치 할 텍스트 및 원하는 위치의 세 가지 인수를 사용하는 매우 간단한 매크로입니다.
Function FindN(sFindWhat As String, _ sInputString As String, N As Integer) As Integer Dim J As Integer Application.Volatile FindN = 0 For J = 1 To N FindN = InStr(FindN + 1, sInputString, sFindWhat) If FindN = 0 Then Exit For Next End Function
이 함수는 검색 할 때 대소 문자를 구분하며 sFindWhat 값이 발생하는 지정된 문자열 내 위치를 반환합니다. 지정된 인스턴스에 발생이 없으면 함수는 0을 반환합니다. 다음은 워크 시트에서 함수를 사용할 수있는 방법을 보여줍니다.
=FindN("b",C15,3)
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (3324)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Finding_the_Nth_Occurrence_of_a_Character [캐릭터의 N 번째 출현 찾기]
.