InStr 함수

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

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

몇 가지 예제 보기

구문

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

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

인수 설명
시작 선택 요소입니다. 각 검색의 시작 위치를 설정하는 숫자식입니다. 생략하면 검색이 첫 번째 문자 위치에서 시작됩니다. start에 Null이 포함되어 있으면 오류가 발생합니다. 비교가 지정된 경우 시작 인수가 필요합니다.
string1 필수 요소입니다. 검색 중인 문자열 식입니다.
문자열2 필수 요소입니다. 찾으려는 문자열 식입니다.
비교 선택 요소입니다. 문자열 비교 유형을 지정합니다. 비교가 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.

참고 항목

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