어떻게 첫 번째 부분 일치의 위치를 얻는
이 기사에서는 범위에서 첫 번째 부분 일치의 위치를 얻으려고합니다.
우리가 알고 있듯이`link : / lookup-formulas-excel-match-function [MATCH function]`은 범위에서 첫 번째 일치의 색인 또는 위치를 반환합니다.
따라서이 함수를 사용하여 범위에서 첫 번째 일치 위치를 얻는 것이 분명합니다. `link : / tips-excel-wildcards [와일드 카드 연산자]`를 지원하므로 MATCH를 사용하여 부분 일치를 수행 할 수도 있습니다.
첫 경기 포지션을 얻으면 다양한 일을 할 수 있습니다. ‘link : / lookup-formulas-excel-index-function [INDEX function]’을 사용하여 해당 값 또는 인접하거나 인접하지 않은 값을 검색하거나 동적 함수를 만드는 것과 같습니다. 그것은 당신의 필요와 창의성에 달려 있습니다.
처음 찾은 부분 일치에 대한 일반 수식
하드 코드 문자열 :
=MATCH("str",range,0)
셀 참조 :
=MATCH(""&cell&"",range,0)
Str : 범위에서 부분적으로 일치시키려는 텍스트 또는 문자열입니다. 그것은 어떤 것, 셀 또는 하드 코딩 된 문자열 일 수 있습니다.
범위 : str을 찾을 범위입니다.
0 : 정확히 일치하는 매개 변수입니다. FALSE도 사용할 수 있습니다.
문자열 str의 앞과 끝에서 (astrisks) 사용했습니다. 앞뒤에 문자열이있는 모든 값을 일치시키는 와일드 카드 연산자입니다 .. *
예를 보겠습니다.
여기에 Win, Loss, Tie의 기록이 있습니다. 우리는 승리, 패배, 동점의 첫 번째 위치를 얻고 싶습니다.
따라서 하드 코딩하면 각 셀에서 부분 일치의 첫 번째 위치를 찾는 공식은 다음과 같습니다.
=MATCH("won",A2:A10,0) =MATCH("loss",A2:A10,0) =MATCH("tie",A2:A10,0)
=MATCH(""&C2&"",$A$2:$A$10,0)
작동 원리
단순히 부분 일치를 수행하기 위해 Excel의 기능을 사용합니다. MATCH는 * (별표) 사이에 제공된 문자열을 포함하는 모든 문자열을 찾고 처음 발견 된 위치를 반환합니다.
FirstPartMatch VBA 함수를 사용하여 범위에서 첫 번째 부분 일치 위치 찾기 Excel에서 vba 모듈의 vba 코드 아래에 복사하면이 함수를 사용하여 부분 일치의 첫 번째 위치를 얻을 수 있습니다. 위의 예에서는 다음 공식을 작성하십시오.
=FirstPartMatch(C2,$A$2:$A$10)
첫 경기의 위치를 얻게됩니다. 이렇게.
작동 원리
첫 번째 인수는 부분 일치를 검색하려는 문자열입니다.
두 번째 인수는 문자열의 위치를 구하려는 범위입니다.
=FirstPartMatch(str,range)
이 공식을 부분 일치에 사용하려면 VBA 모듈에서 아래 코드를 복사하십시오.
Function FirstPartMatch(str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For Each cll In rng tmp = tmp + 1 If InStr(1, LCase(cll.Value2), LCase(str)) > 0 Then position = tmp Exit For End If Next cll If position Then FirstPartMatch = position Else FirstPartMatch = "#NA" End If End Function
위치에 대한 대소 문자 구분 부분 일치
첫 번째 부분 일치를 찾기위한 위의 사용자 정의 함수는 대소 문자를 구분하지 않습니다. 대소 문자를 구분하려면 7 행에서 Lcase 함수를 제거하십시오.
그러면 대소 문자를 구분하는 코드는 다음과 같습니다.
Function FirstPartMatchCASE(str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For Each cll In rng tmp = tmp + 1 If InStr(1, cll.Value2, str) > 0 Then position = tmp Exit For End If Next cll If position Then FirstPartMatchCASE = position Else FirstPartMatchCASE = "#NA" End If End Function
이 경우“승리”와“동점”이없는 것을 알 수 있습니다. 소문자이기거나 동점이 없기 때문에.
네, 이것들은 엑셀에서 첫 부분 매치의 위치를 찾는 방법입니다. 미리 정의 된 MATCH 함수와 사용자 정의 일치 함수를 사용하여 처음 부분 일치 위치를 찾을 수 있다고 말했습니다.
다른 아이디어 나 질문이 있으시면 아래 댓글 섹션에서 우리와 공유하십시오.
관련 기사 :
link : / lookup-formulas-excel-match-function [Excel에서 MATCH 함수 사용 방법]
link : / lookup-formulas-excel-index-function [Excel에서 INDEX 함수 사용 방법]
link : / lookup-formulas-vlookup-top-5-values-with-duplicate-values-using-index-match-in-excel [Vlookup Top 5 Values with Duplicate Values Using INDEX-MATCH in Excel]
인기 기사 :
link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]
link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]
link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]