수식 예제가 포함된 Excel FIND 및 SEARCH 함수

  • 이 공유
Michael Brown

자습서에서는 Excel FIND 및 SEARCH 함수의 구문을 설명하고 고급 일반 사용의 수식 예를 제공합니다.

지난 기사에서는 Excel의 기본 사항에 대해 다루었습니다. 찾기 및 바꾸기 대화 상자. 그러나 대부분의 경우 Excel에서 기준에 따라 자동으로 다른 셀에서 데이터를 찾아 추출하도록 할 수 있습니다. 그럼 엑셀 검색 기능이 어떤 기능을 제공하는지 자세히 살펴보겠습니다.

    엑셀 FIND 기능

    엑셀의 FIND 기능은 텍스트 문자열 내의 특정 문자 또는 하위 문자열.

    Excel 찾기 함수의 구문은 다음과 같습니다.

    FIND(find_text, within_text, [start_num])

    처음 2개의 인수가 필요합니다. 마지막 항목은 선택 사항입니다.

    • Find_text - 찾으려는 문자 또는 하위 문자열.
    • Within_text - 찾을 텍스트 문자열 내에서 검색됩니다. 일반적으로 셀 참조로 제공되지만 수식에 문자열을 직접 입력할 수도 있습니다.
    • Start_num - 검색을 시작할 문자를 지정하는 선택적 인수입니다. 생략하면 within_text 문자열의 첫 번째 문자부터 검색이 시작됩니다.

    FIND 함수가 find_text 문자를 찾지 못하면 #VALUE! 오류가 반환됩니다.

    예를 들어 수식 =FIND("d", "find") 는 "d"가 " find "라는 단어의 4번째 문자이므로 4를 반환합니다. 공식 =FIND("a", "find") 다시 말하지만, 가장 복잡한 부분은 수식에 반환할 문자 수를 알려주는 마지막 인수입니다. num_chars 인수의 매우 긴 표현식은 다음을 수행합니다.

    • 먼저 닫는 괄호의 위치를 ​​찾습니다. SEARCH(")",A2)
    • 그런 다음 여는 괄호의 위치를 ​​찾습니다. SEARCH("(",A2)
    • 그런 다음 닫는 괄호와 여는 괄호의 위치 차이를 계산하고 그 숫자에서 1을 뺍니다. 결과에 괄호가 필요하지 않기 때문입니다. SEARCH(")",A2)-SEARCH("(",A2))-1

    당연히 SEARCH 대신 Excel FIND 함수를 사용하는 데 방해가 되는 것은 없습니다. 이 예에서는 대소문자를 구분하든 대소문자를 구분하지 않든 상관이 없기 때문입니다.

    바라건대, 이 자습서는 Excel에서 SEARCH 및 FIND 기능을 사용하는 방법에 대해 설명했습니다. 다음 튜토리얼에서는 REPLACE 기능에 대해 자세히 살펴볼 예정이니 많은 관심 부탁드립니다. 읽어주셔서 감사합니다!

    연습 워크북 다운로드

    FIND 및 SEARCH 수식 예

    " find"에 "a"가 없기 때문에 오류를 반환합니다.

    Excel FIND 함수 - 기억해야 할 사항!

    Excel에서 FIND 수식을 올바르게 사용하려면 다음과 같은 간단한 사실을 기억하십시오.

    1. FIND 함수는 대소문자를 구분 합니다. 대소문자를 구분하지 않는 일치 항목을 찾으려면 SEARCH 함수를 사용하세요.
    2. Excel의 FIND 함수는 와일드카드 문자 를 사용할 수 없습니다.
    3. find_text 인수인 경우 여러 문자가 포함된 경우 FIND 함수는 첫 번째 문자 의 위치를 ​​반환합니다. 예를 들어 FIND("ap","happy") 수식은 "happy"라는 단어의 두 번째 글자에 "a"가 있기 때문에 2를 반환합니다.
    4. withwithwithwithwithwithwithwith 여러 발생 find_text, 첫 번째 항목이 반환됩니다. 예를 들어 FIND("l", "hello")는 "hello"라는 단어에서 첫 번째 "l" 문자의 위치인 3을 반환합니다.
    5. find_text가 빈 문자열인 경우 "", Excel FIND 수식은 검색 문자열의 첫 번째 문자를 반환합니다.
    6. Excel FIND 함수는 #VALUE! 다음 중 하나라도 발생하면 error :
      • Find_text가 within_text에 없습니다.
      • Start_num에 within_text보다 많은 문자가 포함되어 있습니다.
      • Start_num이 0(영)이거나 음수.

    Excel SEARCH 함수

    Excel의 SEARCH 함수는 하위 문자열의 위치도 반환한다는 점에서 FIND와 매우 유사합니다. 텍스트끈. 구문 및 인수는 FIND와 유사합니다.

    SEARCH(find_text, within_text, [start_num])

    FIND와 달리 SEARCH 함수는 대소문자를 구분하지 않고 와일드카드 문자를 사용할 수 있습니다. , 다음 예에서 설명하는 것처럼.

    다음은 몇 가지 기본 Excel SEARCH 수식입니다.

    =SEARCH("market", "supermarket") 는 하위 문자열 "market"이 단어 "supermarket"의 6번째 문자에서 시작하기 때문에 6을 반환합니다. .

    =SEARCH("e", "Excel") 는 "e"가 "Excel"이라는 단어의 첫 번째 문자이므로 대소문자를 무시하고 1을 반환합니다.

    FIND와 마찬가지로 Excel의 SEARCH 함수는 #VALUE! 오류 if:

    • find_text 인수의 값을 찾을 수 없습니다.
    • start_num 인수가 within_text의 길이보다 큽니다.
    • Start_num이 같거나 0보다 작습니다.

    이 자습서에서 더 나아가 Excel 워크시트에서 SEARCH 함수를 사용하는 방법을 보여주는 몇 가지 의미 있는 수식 예제를 찾을 수 있습니다.

    이미 언급했듯이 Excel의 FIND 및 SEARCH 함수는 구문 및 용도 면에서 매우 유사합니다. 그러나 몇 가지 차이점이 있습니다.

    Excel SEARCH와 FIND 함수의 가장 근본적인 차이점은 SEARCH는 대소문자를 구분하지 않지만 FIND는 대소문자를 구분한다는 것입니다.

    예를 들어 , SEARCH("e", "Excel")은 다음을 무시하므로 1을 반환합니다."E"의 경우, FIND("e", "Excel")는 대소문자를 구분하기 때문에 4를 반환합니다.

    2. 와일드카드 문자로 검색

    FIND와 달리 Excel SEARCH 함수는 find_text 인수에서 와일드카드 문자를 허용합니다.

    • 물음표(?)는 한 문자와 일치하고
    • 별표(*)는 일련의 문자와 일치합니다.

    실제 데이터에서 어떻게 작동하는지 보려면 다음 예를 고려하십시오.

    위의 스크린샷에서 볼 수 있듯이 SEARCH("function*2013", A2) 수식은 within_text 인수에서 참조하는 텍스트 문자열에 "function"이 모두 포함된 경우 하위 문자열에서 첫 번째 문자("f")의 위치를 ​​반환합니다. 및 "2013"은 그 사이에 얼마나 많은 다른 문자가 있는지에 관계없이 표시됩니다.

    팁. 실제 물음표(?) 또는 별표(*)를 찾으려면 해당 문자 앞에 물결표(~)를 입력하십시오.

    Excel FIND 및 SEARCH 수식 예제

    실제로 Excel FIND 및 SEARCH 함수는 단독으로 거의 사용되지 않습니다. 일반적으로 MID, LEFT 또는 RIGHT와 같은 다른 함수와 함께 사용하며 다음 수식 예제는 실제 사용을 보여줍니다.

    예제 1. 주어진 문자 앞이나 뒤에 있는 문자열 찾기

    이 예제는 텍스트 문자열에서 특정 문자의 왼쪽 또는 오른쪽에 있는 모든 문자를 찾아 추출하는 방법을 보여줍니다. 이해를 돕기 위해 다음을 고려하십시오.예를 들면 다음과 같습니다.

    이름 열(A열)이 있고 이름과 성을 별도의 열로 가져오려고 한다고 가정합니다.

    이름을 가져오려면 다음을 사용할 수 있습니다. LEFT 함수와 함께 FIND(또는 SEARCH):

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

    또는

    =LEFT(A2, SEARCH(" ", A2)-1)

    알다시피 Excel LEFT 함수는 다음을 반환합니다. 문자열에서 가장 왼쪽 문자의 지정된 수. 그리고 FIND 함수를 사용하여 공백(" ")의 위치를 ​​결정하여 LEFT 함수가 추출할 문자 수를 알 수 있도록 합니다. 이때 반환되는 값에 공백이 포함되는 것을 원하지 않기 때문에 공백의 위치에서 1을 뺍니다.

    성을 추출하려면 RIGHT, FIND/SEARCH 및 LEN 기능의 조합을 사용합니다. LEN 함수는 공백의 위치를 ​​뺀 문자열의 총 문자 수를 가져오는 데 필요합니다.

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    또는

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    다음 스크린샷은 결과를 보여줍니다.

    중간 이름을 추출하거나 접미사로 이름을 분할하는 것과 같은 보다 복잡한 시나리오의 경우 Excel에서 셀을 분할하는 방법을 참조하세요. 수식을 사용합니다.

    예 2. 텍스트 문자열에서 주어진 문자의 N번째 발생 찾기

    예를 들어 SKU 목록과 같이 A 열에 일부 텍스트 문자열이 있고 찾고자 한다고 가정합니다. 문자열에서 두 번째 대시의 위치. 다음 공식은 치료 효과가 있습니다.

    =FIND("-", A2, FIND("-",A2)+1)

    처음 두인수는 해석하기 쉽습니다. 셀 A2에서 대시("-")를 찾습니다. 세 번째 인수(start_num)에는 대시(FIND("-",A2)+1)가 처음 나타난 직후에 오는 문자부터 시작하여 검색을 시작하도록 Excel에 지시하는 다른 FIND 함수를 포함합니다.

    세 번째 발생 의 위치를 ​​반환하려면 다른 FIND 함수의 start_num 인수에 위 수식을 포함하고 반환 값에 2를 추가합니다.

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    주어진 문자의 N번째 항목을 찾는 또 다른 간단한 방법은 CHAR 및 SUBSTITUTE와 함께 Excel FIND 기능을 사용하는 것입니다.

    =FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))

    여기서 "-"는 문제의 문자이고 "3"은 찾으려는 N번째 항목입니다.

    위 공식에서 SUBSTITUTE 함수는 대시("-")의 세 번째 항목을 CHAR( 1) ASCII 시스템에서 인쇄할 수 없는 "표제 시작" 문자입니다. CHAR(1) 대신 1에서 31까지 인쇄할 수 없는 다른 문자를 사용할 수 있습니다. 그런 다음 FIND 함수는 텍스트 문자열에서 해당 문자의 위치를 ​​반환합니다. 따라서 일반 공식은 다음과 같습니다.

    FIND(CHAR(1),SUBSTITUTE( , 문자 ,CHAR(1), N번째 항목 ))

    언뜻 보기에 위의 수식은 실질적인 가치가 거의 없어 보일 수 있지만 다음 예제는 실제 작업을 해결하는 데 얼마나 유용한지 보여줍니다.

    참고. Excel FIND를 기억하십시오.함수는 대/소문자를 구분합니다. 이 예에서는 차이가 없지만 문자로 작업하고 대소문자를 구분하지 않는 일치를 원하는 경우 FIND 대신 SEARCH 기능을 사용하십시오.

    예시 3. 특정 문자 뒤에 오는 N개의 문자 추출

    텍스트 문자열 내에서 주어진 길이의 하위 문자열을 찾으려면 MID 함수와 함께 Excel FIND 또는 Excel SEARCH를 사용합니다. 다음 예는 이러한 수식을 실제로 사용할 수 있는 방법을 보여줍니다.

    SKU 목록에서 첫 번째 대시 다음에 오는 처음 3자를 찾아 다른 열로 가져오려고 한다고 가정합니다.

    첫 번째 대시 앞의 문자 그룹에 항상 같은 수의 항목(예: 2자)이 포함되어 있으면 간단한 작업이 됩니다. MID 함수를 사용하여 위치 4에서 시작하여 문자열에서 3개의 문자를 반환할 수 있습니다(처음 2개의 문자와 대시 건너뛰기):

    =MID(A2, 4, 3)

    영어로 번역하면 공식은 다음과 같습니다. "셀 A2를 보고, 문자 4에서 추출을 시작하고, 3자를 반환합니다.".

    그러나 실제 워크시트에서는 추출해야 하는 하위 문자열이 어디서든 시작할 수 있습니다. 텍스트 문자열 내에서. 이 예에서 첫 번째 대시 앞에 몇 개의 문자가 있는지 모를 수 있습니다. 이 문제를 해결하려면 FIND 함수를 사용하여 검색하려는 하위 문자열의 시작 지점을 결정하십시오.

    FIND 공식은첫 번째 대시의 위치는 다음과 같습니다.

    =FIND("-",A2)

    대시 뒤에 오는 문자로 시작하려면 반환 값에 1을 더하고 두 번째 인수에 위 함수를 포함합니다. MID 함수의 (start_num):

    =MID(A2, FIND("-",A2)+1, 3)

    이 시나리오에서 Excel SEARCH 함수는 똑같이 잘 작동합니다.

    =MID(A2, SEARCH("-",A2)+1, 3)

    좋긴 한데 첫 번째 대시 다음에 오는 문자 그룹에 다른 문자 수가 포함되어 있으면 어떻게 될까요? 음... 문제가 될 수 있습니다.

    위의 스크린샷에서 볼 수 있듯이 수식은 행 1과 2에 대해 완벽하게 작동합니다. 행 4와 5에서 두 번째 그룹은 4자를 포함하지만 처음 3자만 반환됩니다. 6행과 7행에는 두 번째 그룹에 2개의 문자만 있으므로 Excel 검색 수식은 그 뒤에 대시를 반환합니다.

    첫 번째와 두 번째 항목 사이의 모든 문자를 반환하려는 경우 특정 문자의 (이 예에서는 대시), 어떻게 진행하시겠습니까? 답은 다음과 같습니다.

    =MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)

    이 MID 공식을 더 잘 이해하기 위해 해당 인수를 하나씩 살펴보겠습니다.

    • 첫 번째 인수(텍스트). 추출하려는 문자를 포함하는 텍스트 문자열입니다. 이 예에서는 셀 A2입니다.
    • 두 번째 인수(start_position)입니다. 추출하려는 첫 번째 문자의 위치를 ​​지정합니다. FIND 함수를 사용하여 문자열에서 첫 번째 대시를 찾고 1을 추가합니다.대시 다음에 오는 문자로 시작하기를 원하기 때문에 해당 값: FIND("-",A2)+1.
    • 3rd argument (num_chars). 반환할 문자 수를 지정합니다. 우리 공식에서 이것은 가장 까다로운 부분입니다. 두 개의 FIND(또는 SEARCH) 함수를 사용합니다. 하나는 첫 번째 대시의 위치를 ​​결정합니다: FIND("-",A2). 그리고 다른 하나는 두 번째 대시의 위치를 ​​반환합니다: FIND("-", A2, FIND("-",A2)+1). 그런 다음 후자에서 전자를 뺀 다음 대시를 포함하지 않기 때문에 1을 뺍니다. 결과적으로 첫 번째 대시와 두 번째 대시 사이의 문자 수를 얻게 되며 이것이 바로 우리가 찾고 있는 것입니다. 따라서 해당 값을 MID 함수의 num_chars 인수에 입력합니다.

    유사한 방식으로 두 번째 대시 다음에 3개의 문자를 반환할 수 있습니다.

    =MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)

    또는 두 번째 대시와 세 번째 대시 사이의 모든 문자를 추출합니다.

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    예 4. 괄호 사이의 텍스트 찾기

    열 A에 긴 텍스트 문자열이 있고 (괄호)로 묶인 텍스트만 찾아서 추출하려고 한다고 가정합니다.

    이렇게 하려면 원하는 수의 문자를 반환하는 MID 함수가 필요합니다. 문자열, 시작 위치와 추출할 문자 수를 결정하는 Excel FIND 또는 SEARCH 함수.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    이 수식의 논리는 이전에 논의한 것과 유사합니다. 예시. 그리고

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.