본문 바로가기
컴퓨터.SW

[Excel] 엑셀에서 문자(텍스트) 추출의 핵심, "FIND" 함수

by 사고쓰고리뷰하고 2025. 2. 17.
반응형

엑셀에서 데이터를 다루다 보면 특정 문자열(텍스트)을 찾아야 하는 경우가 종종 있습니다.

예를 들어, 특정 단어가 셀의 몇 번째 위치에 있는지 알아야 한다거나, 텍스트에서 일부만 추출해야 할 때 FIND 함수를 활용할 수 있습니다.

이번 글에서는 FIND 함수의 기본 사용법부터 응용 사례까지 하나씩 살펴보겠습니다.


1. FIND 함수란?

FIND 함수는 문자열 안에서 특정 문자 또는 텍스트가 처음으로 나타나는 위치(숫자)를 반환하는 함수입니다.

이 함수는 대소문자를 구분하며, 사용법이 간단하지만 응용 범위가 넓습니다.


2. FIND 함수의 기본 구조

 
=FIND(찾을_텍스트, 대상_텍스트, [시작위치])

1) 찾을_텍스트
찾고자 하는 문자 또는 단어를 입력합니다. (필수)
예: "a" 또는 "test"

 

2) 대상_텍스트
찾고자 하는 텍스트가 포함된 셀을 지정합니다. (필수)
예: "apple"

 

3) [시작위치]
검색을 시작할 위치를 지정합니다. 기본값은 1이며, 첫 번째 문자부터 검색합니다. (선택)


3. FIND 함수의 특징

1) 대소문자를 구분합니다.
예: "A"와 "a"는 다른 문자로 인식됩니다.

 

2) 찾는 텍스트가 없는 경우 #VALUE! 오류를 반환합니다.

3) 시작위치: [시작위치]를 생략하면 기본값인 1부터 검색합니다.


4. FIND 함수의 기본 예제

예제 1: 특정 문자 찾기

=FIND("a", "apple")

결과: 1

- "a"는 "apple"의 첫 번째 문자이므로 결과는 1입니다.

예제 2: 특정 단어 찾기

=FIND("le", "apple")

결과: 4

- "le"는 "apple"의 네 번째 위치에서 시작됩니다.

예제 3: 시작 위치 지정

=FIND("p", "apple", 3)

결과: 3

- "p"는 "apple"에서 세 번째 위치부터 검색하므로 결과는 3입니다.


5. FIND 함수의 오류 상황

1. 찾는 텍스트가 없는 경우

=FIND("z", "apple")

결과: #VALUE!

"z"는 "apple"에 없으므로 오류가 반환됩니다.

2. 시작 위치 초과

=FIND("a", "apple", 6)

결과: #VALUE!

시작 위치(6)가 텍스트의 길이(5)보다 크므로 오류가 발생합니다.


6. FIND 함수의 실무 활용 예제

예제 1: 특정 텍스트 추출 (LEFT 함수와 조합)

FIND 함수는 다른 함수와 함께 사용할 때 더욱 유용합니다.

예를 들어, 텍스트의 특정 부분을 추출하려면 FIND와 LEFT를 함께 사용할 수 있습니다.

- 문제: "apple-12345"에서 문자 "-" 앞의 텍스트만 추출.
- 수식:

=LEFT(A1, FIND("-", A1) - 1)

결과: "apple"

FIND 함수로 "-"의 위치를 찾고, 맨 왼쪽(처음)부터 "-" 앞부분까지 추출합니다.

 


예제 2: 특정 텍스트 뒤의 문자열 추출 (MID 함수와 조합)

- 문제: "apple-12345"에서 "-" 뒤의 숫자만 추출.
- 수식:

=MID(A1, FIND("-", A1) + 1, LEN(A1))

결과: "12345"

FIND 함수로 "-"의 위치를 찾은 후, 그 다음 문자부터 끝까지 추출합니다.


예제 3: 텍스트 포함 여부 확인 (IF와 조합)

FIND 함수는 텍스트 포함 여부를 판단하는 데도 사용할 수 있습니다.
- 문제: 셀에 "error"라는 단어가 포함되었는지 확인.
- 수식:

=IF(ISNUMBER(FIND("error", A1)), "포함됨", "포함되지 않음")

FIND 함수가 위치를 반환하면 숫자이므로 "포함됨" 출력, 오류가 반환되면 "포함되지 않음" 출력.


예제 4: 이메일 주소에서 사용자명 추출

- 문제: "user@example.com"에서 @ 앞의 사용자명 추출.
- 수식:

=LEFT(A1, FIND("@", A1) - 1)

결과: "user"


예제 5: 여러 FIND 함수로 다중 텍스트 추출

- 문제: "name:John; age:30; city:Seoul"에서 이름만 추출.
- 수식:

=MID(A1, FIND("name:", A1) + 5, FIND(";", A1) - FIND("name:", A1) - 5)

결과: "John"

FIND 함수로 name:와 ";"의 위치를 찾아 이름만 추출합니다.

 

아마 위 수식이 어려워서 잘 이해가 안되실 수 있는데, 자세히 말씀 드리면 아래와 같습니다.

 

예제 5: 여러 FIND 함수로 다중 텍스트 추출 원리 자세히 설명

- 문제: 텍스트 "name:John; age:30; city:Seoul"에서 **name: 뒤에 있는 이름 "John"**만 추출하려고 합니다.

- 사용한 수식:

=MID(A1, FIND("name:", A1) + 5, FIND(";", A1) - FIND("name:", A1) - 5)

이 수식의 원리를 단계별로 설명하겠습니다.


1. FIND 함수의 역할

FIND 함수는 특정 텍스트가 문자열에서 처음 나타나는 위치를 숫자로 반환합니다.

이 예제에서는 FIND("name:", A1)과 FIND(";", A1)을 사용하여 텍스트에서 "name:"와 ";"의 위치를 구합니다.

(1) FIND("name:", A1)

- 텍스트 "name:John; age:30; city:Seoul"에서 "name:"은 첫 번째 위치에서 시작합니다.

- 결과: 1

-> "name:"의 첫 번째 문자가 텍스트의 1번째 위치에 있기 때문입니다.

(2) FIND(";", A1)

"name:John; age:30; city:Seoul"에서 ";"는 "John" 뒤에 나타나며, 10번째 위치에 있습니다.

- 결과: 10


2. MID 함수의 역할

MID 함수는 문자열의 특정 위치에서 원하는 길이만큼 문자를 추출하는 함수입니다.

- 구조:

=MID(대상_텍스트, 시작위치, 추출할_문자_개수)

- 대상_텍스트: 추출할 문자열이 포함된 셀 (예: A1)

- 시작위치: 문자열을 추출하기 시작할 위치

- 추출할_문자_개수: 추출할 문자 수

이 수식에서, MID 함수는 "name:" 뒤에 있는 이름을 추출합니다.


3. 수식의 해석

=MID(A1, FIND("name:", A1) + 5, FIND(";", A1) - FIND("name:", A1) - 5)

(1) FIND("name:", A1) + 5: 추출 시작 위치

- FIND("name:", A1)의 결과는 1입니다. "name:"은 다섯 글자이므로, 이름이 시작되는 위치는 "name:"의 끝인 6번째 문자입니다.

- FIND("name:", A1) + 5 = 1 + 5 = 6

- 따라서, MID 함수는 6번째 문자 "J"부터 추출을 시작합니다.

 

(2) FIND(";", A1) - FIND("name:", A1) - 5: 추출할 문자 개수

- FIND(";", A1): ";"의 위치는 10입니다.

- FIND("name:", A1): "name:"의 시작 위치는 1입니다.

- 두 값의 차이를 계산하면 "name:"부터 ";"까지의 총 문자 수가 나옵니다.

FIND(";", A1) - FIND("name:", A1) = 10 - 1 = 9

- "name:"은 다섯 글자이므로, 이름의 길이를 계산하려면 5를 빼야 합니다.

FIND(";", A1) - FIND("name:", A1) - 5 = 10 - 1 - 5 = 4

따라서, "John"의 길이인 4글자만 추출됩니다.


4. 결과

- MID(A1, 6, 4)6번째 문자부터 4글자를 추출합니다.

- 텍스트 "name:John; age:30; city:Seoul"에서 6번째부터 4글자를 읽으면 "John"이 반환됩니다.


5. 전체 원리 요약

1) FIND("name:", A1) + 5: "name:" 끝 이후, 이름이 시작되는 위치를 찾습니다.

2) FIND(";", A1) - FIND("name:", A1) - 5: "name:"과 ";" 사이의 이름 길이를 계산합니다.

3) MID 함수는 계산된 시작 위치와 길이를 사용해 이름만 추출합니다.

 

 


7. FIND 함수와 SEARCH 함수의 차이점

FIND와 비슷한 함수로 SEARCH가 있습니다. 이 두 함수의 주요 차이점은 다음과 같습니다:

항목 FIND SEARCH
대소문자 구분 구분함 구분하지 않음
와일드카드 지원 지원하지 않음 지원함 (*, ?)

 


8. FIND 함수의 한계와 주의점

1) 대소문자 구분: 대소문자를 구분하기 때문에 민감한 데이터 검색 시 유의해야 합니다. 대소문자 무시를 원하면 SEARCH를 사용하세요.

2) 오류 처리: FIND 함수는 찾는 텍스트가 없을 경우 #VALUE! 오류를 반환합니다. 이를 방지하려면 IFERROR를 사용합니다.

=IFERROR(FIND("text", A1), "없음")

참고 글)

 

[Excel] 복수의 셀이 모두 TRUE인지 확인하는 방법과 주의사항

 

[Excel] 복수의 셀이 모두 TRUE인지 확인하는 방법과 주의사항

결론:두 셀이 모두 TRUE일 때 TRUE를 반환하려면 =AND(셀1, 셀2)를 사용합니다.하나라도 FALSE이면 FALSE를 반환합니다.엑셀작업시 모든 조건이 충족 되었을 때 "TRUE"록 함수를 설정해보겠습니다. 엑셀

a-story804.tistory.com

 

 [Excel] COUNTIF, COUNTIFS 함수 사용방법(조건을 만족하는 셀 개수 세기)

 

[Excel] COUNTIF, COUNTIFS 함수 사용방법(조건을 만족하는 셀 개수 세기)

엑셀에서 범위 중에서 어떤 조건을 충족하는 셀의 개수를 구하기 위해서는 COUNTIF 함수를 사용하면 됩니다. 예를 들어, 엑셀에서 범위 중에서 1보다 큰 숫자가 있는 셀의 개수를 구하기 위해

a-story804.tistory.com

 

 [Excel] 시트(sheet) 이동/복사할 때 "대상 통합 문서의 행 및 열 수가 원본 통합 문서보다 적어 대상 통합 문서에 시트를 삽입할 수 없습니다." 오류 해결방법

 

[Excel] 시트(sheet) 이동/복사할 때 "대상 통합 문서의 행 및 열 수가 원본 통합 문서보다 적어 대상

엑셀을 사용하다 보면 시트를 다른 통합 문서로 이동하거나 복사하려 할 때 위와 같은 오류 메시지를 접할 수 있습니다."대상 통합 문서의 행 및 열 수가 원본 통합 문서보다 적어 대상 통합 문

a-story804.tistory.com

728x90
반응형