InStr 함수

적용 대상
Microsoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

특정 문자열이 다른 문자열 내에서 처음으로 나타나는 위치를 지정하는 Variant(Long) 형식을 반환합니다.

몇 가지 예제를 참조하세요.

구문

InStr([start, ] string1, string2 [, compare ] )

InStr 함수 구문에는 다음과 같은 인수가 사용됩니다.

인수 설명
시작 선택 요소입니다. 각 검색의 시작 위치를 설정하는 숫자 식입니다. 생략하면 첫 번째 문자 위치에서 검색이 시작됩니다. start에 Null이 포함되어 있으면 오류가 발생합니다. 비교를 지정하는 경우 start 인수가 필요합니다.
string1 필수 요소입니다. 검색 중인 문자열 식입니다.
string2 필수 요소입니다. 문자열 식을 찾았습니다.
비교 선택 요소입니다. 문자열 비교의 형식을 지정합니다. 비교가 Null이면 오류가 발생합니다. 비교를 생략하면 OptionCompare 설정에 따라 비교 유형이 결정됩니다. 비교에서 로캘별 규칙을 사용할 유효한 LCID(LocaleID)를 지정합니다.

식 작성기에서 IntelliSense를 사용하므로 식에 필요한 인수를 확인할 수 있습니다.

설정

비교 인수 설정은 다음과 같습니다.

상수 Value 설명
vbUseCompareOption -1 Option Compare 문의 설정을 사용하여 비교를 수행합니다.
vbBinaryCompare 0 이진 비교를 수행합니다.
vbTextCompare 1 텍스트 비교를 수행합니다.

반환 값

If InStr 반환
string1은 길이가 0입니다. 0
string1이 Null입니다. Null
string2는 길이가 0입니다. 시작
string2가 Null입니다. Null
string2를 찾을 수 없습니다. 0
string2는 string1 내에서 찾을 수 있습니다. 일치하는 항목을 찾을 위치
start > string2 0

주의

InStrB 함수는 문자열에 포함된 바이트 데이터와 함께 사용됩니다. InStrB는 한 문자열이 다른 문자열에서 처음 나타나는 문자 위치를 반환하는 대신 바이트 위치를 반환합니다.

예제

식에서 InStr 함수 사용 식을 사용할 수 있는 모든 위치에서 InStr 을 사용할 수 있습니다. 예를 들어 IP 주소(IPAddress라는 이름)가 포함된 필드에서 첫 번째 마침표(.)의 위치를 찾으려면 다음과 같이 InStr 을 사용하여 찾을 수 있습니다.

InStr(1,[IPAddress],".")

InStr 함수는 IPAddress 필드의 각 값을 검사하고 첫 번째 마침표의 위치를 반환합니다. 따라서 IP 주소의 첫 번째 부분이 10인 경우 함수는 값 3을 반환합니다.

그런 다음 InStr 함수의 출력에서 작동하는 다른 함수를 사용하여 첫 번째 기간 이전의 IP 주소 부분을 추출할 수 있습니다.

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

이 예제에서는 InStr(1,[IPAddress],".") 는 첫 번째 마침표의 위치를 반환합니다. 1을 빼면 첫 번째 마침표 앞에 오는 문자 수(이 경우 2)가 결정됩니다. 그런 다음 Left 함수는 IPAddress 필드의 왼쪽 부분에서 많은 문자를 추출하여 값 10을 반환합니다.

VBA 코드에서 InStr 사용 

참고

VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다.

이 예제에서는 InStr 함수를 사용하여 한 문자열이 다른 문자열에서 처음 나타나는 위치를 반환합니다.


Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

참고 항목

문자열 함수 정보 및 사용 방법