엑셀 '모든 버전'에서 가능한 "실시간 검색 보고서" 만들기
업무가 최소 2배 이상 편해지는, 엑셀 실시간 검색 보고서 만들기! 단, 3개의 함수만 사용해서, 복사/붙여넣기만으로 누구나 쉽게 만드는 방법을 배워보세요🚀
이 강의에서는 ISNUMBER, SEARCH, FILTER 세 가지 함수만으로 특정 단어를 포함하는 데이터를 즉시 필터링하는 검색 보고서를 만드는 방법을 다룹니다. 엑셀 2021 이후 버전과 2019 이전 버전 모두에 적용할 수 있는 공식을 함께 정리하고, 양식 컨트롤로 입력창을 추가해 단어를 입력하는 즉시 결과가 갱신되는 보고서까지 완성합니다.
엑셀 고급 강의
엑셀 '모든 버전'에서 가능한 "실시간 검색 보고서" 만들기
업무가 최소 2배 이상 편해지는, 엑셀 실시간 검색 보고서 만들기! 단, 3개의 함수만 사용해서, 복사/붙여넣기만으로 누구나 쉽게 만드는 방법을 배워보세요🚀
이 강의에서는 ISNUMBER, SEARCH, FILTER 세 가지 함수만으로 특정 단어를 포함하는 데이터를 즉시 필터링하는 검색 보고서를 만드는 방법을 다룹니다. 엑셀 2021 이후 버전과 2019 이전 버전 모두에 적용할 수 있는 공식을 함께 정리하고, 양식 컨트롤로 입력창을 추가해 단어를 입력하는 즉시 결과가 갱신되는 보고서까지 완성합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
특정 단어 포함 필터링 공식 요약

· 엑셀 2021 이후 버전 (FILTER 함수 활용)
=FILTER(출력범위,ISNUMBER(SEARCH(찾을값,찾을범위)))
· 엑셀 2019 이전 버전
'$출력범위, $찾을값, $찾을범위 모두 절대참조로 입력합니다.
특정 단어 포함 필터링 공식 살펴보기
실무에서 데이터를 분석하다 보면, 특정 단어를 포함하는 조건으로 데이터를 필터링해야 하는 상황이 자주 발생합니다. 자동 필터나 피벗테이블로도 처리할 수 있지만, 다양한 검색어를 반복적으로 적용하려면 매번 필터를 초기화해야 하는 번거로움이 따릅니다. 이때 오늘 소개하는 '특정 단어 포함 필터링 공식'을 활용하면 보다 효율적으로 데이터를 분석할 수 있습니다.
- 특정 단어 포함여부 확인 : 특정 단어의 포함 여부를 확인할 때는 "있어?(ISNUMBER/SEARCH)" 공식을 사용합니다. 예제파일을 실행한 후 [단어포함여부검색] 시트로 이동하고, C8셀을 선택해 아래와 같이 SEARCH 함수를 작성합니다.
=SEARCH(C7,C8)
'=SEARCH(찾을단어,문장,[시작위치])
오빠두Tip : SEARCH 함수는 찾을 단어가 문장에서 시작하는 위치를 순번으로 반환합니다. 단어가 없으면 #VALUE! 오류를 반환합니다. - SEARCH 함수를 입력하면 결과값으로 4가 반환되며, 찾을 단어인 "HP"가 문장의 4번째 위치에서 시작한다는 것을 확인할 수 있습니다.

- C7셀의 값을 "애플"로 변경하면, 찾을 단어인 "애플"이 문장에 포함되지 않으므로 #VALUE! 오류가 반환됩니다.

- 이제 SEARCH 함수를 ISNUMBER 함수로 감싸주면 특정 단어 포함 여부 확인 공식이 완성됩니다. C8셀에 아래와 같이 수식을 작성합니다.
=ISNUMBER(SEARCH(C7,B8))
'=ISNUMBER(값)
오빠두Tip : ISNUMBER 함수는 값이 숫자이면 TRUE, 그 외에는 FALSE를 반환합니다. SEARCH 함수가 단어를 찾았을 때만 숫자를 반환하므로, ISNUMBER/SEARCH 조합으로 특정 단어의 포함 여부를 정확하게 확인할 수 있습니다. - 이제 C7셀의 값을 "삼성, 애플, 모니터" 등으로 변경하면, 문장에 포함된 단어일 때만 TRUE가 반환됩니다.

- 특정 단어 포함 필터링 공식 : ISNUMBER/SEARCH 조합을 FILTER 함수와 함께 사용하면, 특정 단어를 포함하는 항목만 실시간으로 필터링할 수 있습니다. [단어포함여부검색] 시트에서 H23셀을 선택한 후, 아래와 같이 FILTER 함수를 작성합니다.
=FILTER(B23:E29,ISNUMBER(SEARCH(F22,B23:B29)))
' =FILTER( 전체범위, 조건 )
→ FILTER( 전체범위, ISNUMBER(SEARCH(단어,조건범위)) )
오빠두Tip : FILTER 함수는 전체 데이터 중 조건을 만족하는 항목만 반환합니다. 위 공식에서는 '특정 단어 포함 여부'가 FILTER 함수의 조건으로 작성되었습니다. - 이제 F22셀의 값을 "에이서, 맥북, LG" 등으로 변경하면, 해당 단어를 포함하는 제품만 실시간으로 필터링됩니다.
오빠두Tip : FILTER 함수의 기초 사용법은 아래 영상강의에서 자세히 정리했습니다. 함께 확인해보세요!👇
모든 항목을 검색하는 필터링 보고서 만들기
앞서 살펴본 '특정 단어 포함 필터링 공식'을 실무에 적용하면 모든 항목을 동시에 검색하는 필터링 보고서를 손쉽게 완성할 수 있습니다.
- 모든 항목 검색을 위한 조건열 만들기 : 예제파일에서 [제품목록시트]로 이동한 후, 작성된 데이터를 표로 변환합니다. 시트에서 임의의 셀을 선택한 후, [삽입] 탭 - [표]를 클릭하거나 단축키 Ctrl + T를 눌러 표 만들기를 실행합니다. [표 만들기] 대화상자가 실행되면, '머리글 포함'을 체크한 후 [확인] 버튼을 클릭해 범위를 표로 변환합니다.

- 표를 선택하면 메뉴 상단에 [테이블 디자인] 탭이 활성화됩니다. [테이블 디자인] 탭으로 이동한 후, 좌측 '표 이름'에서 표의 이름을 "제품목록"으로 변경합니다.
오빠두Tip : 표 기능은 파워쿼리와 코파일럿 등 최신 기능을 다루기 위해 반드시 알아야 할 핵심 개념입니다. 표 기능에 대한 자세한 설명은 아래 5분 기초 영상강의를 참고하세요!👇
- 이제 표 오른쪽에 모든 항목을 검색하기 위한 조건열을 추가합니다. H2셀을 선택한 후 아래와 같이 수식을 작성하면, 그림과 같이 표의 모든 항목이 결합된 조건열이 완성됩니다.
[2021 이후 버전]
=CONCAT(제품목록[@[제조사]:[가격]])
[2019 이전 버전]
=[@제조사]&[@[제품명(한글)]]&[@[제품명(영문)]]&[@CPU]&[@RAM]&[@HDD]&[@가격]
'표 이름과 머리글에 따라 적절히 수정해서 작성합니다.
오빠두Tip : CONCAT 함수는 범위 안의 모든 값을 하나의 텍스트로 결합하는 함수로, 엑셀 2021 이후 버전에서만 제공됩니다. - 마지막으로 조건 열의 머리글을 "검색조건"으로 변경하면 표가 완성됩니다.

- 실시간 필터링 보고서 만들기 : 이제 모든 항목을 실시간으로 검색하는 필터링 보고서를 작성합니다. [검색보고서] 시트로 이동한 후, B2셀에 검색할 조건 단어를 입력합니다. 이번 예제에서는 "삼성"을 입력했습니다.

- 2021 이후 버전 사용자 : C6셀을 선택한 후 아래와 같이 함수를 작성합니다.
=FILTER( 제품목록[[제조사]:[가격]] , ISNUMBER(SEARCH(B2,제품목록[검색조건])) )
'=FILTER( 필터링범위 , 조건 )
- 함수를 입력하면 모든 항목을 검색하는 실시간 필터링 보고서가 완성됩니다. 이제 B2셀의 값을 변경하면, 모든 항목 중 해당 단어를 포함하는 데이터가 즉시 필터링됩니다.

- 2019 이전 버전 사용자 : FILTER 함수가 제공되지 않는 엑셀 2019 이전 버전 사용자는, 예제파일에 미리 작성해 둔 공식을 활용해 실시간 필터링 보고서를 만들 수 있습니다. [2019이전버전] 시트로 이동한 후, J5셀에 적어드린 공식을 복사합니다. 이때 공식 앞의 작은 따옴표(')는 제외하고 복사하는 점에 주의하세요.

- 복사한 공식을 B6셀에 붙여넣은 후, $출력범위, $찾을값, $찾을범위를 적절히 변경합니다. 이번 예제에서는 범위를 표로 참조하기 때문에 참조방식이 큰 영향을 주지 않지만, 일반 셀 주소(예: A1:A10)로 범위를 참조할 때는 반드시 절대참조로 작성하는 것에 주의합니다. 완성된 공식은 다음과 같습니다.
=IFERROR(INDEX(제품목록[[제조사]:[가격]], SMALL(IF(ISNUMBER(SEARCH($B$2,제품목록[검색조건])),MATCH(ROW(제품목록[검색조건]), ROW(제품목록[검색조건])), ""), ROWS($A$1:A1)), COLUMNS($A$1:A1)),"")
'$출력범위: 제품목록[[제조사]:[가격]] / $찾을값: $B$2 / $찾을범위: 제품목록[검색조건]
- 작성한 수식을 Ctrl + Shift + Enter 로 입력하면 필터 결과의 첫 번째 항목이 출력됩니다.

- 이제 수식을 오른쪽과 아래쪽으로 자동채우기해 필터링 보고서를 완성합니다. 단, 표를 참조한 범위는 오른쪽으로 드래그해서 자동채우기하면 참조하는 열이 한 칸씩 이동해 잘못된 결과가 반환됩니다. 따라서 오른쪽으로 자동채우기 할 때는 B6:H6 범위를 선택한 후 Ctrl + R 단축키로 빠른채우기를 실행합니다.

- 수식을 모두 자동채우기한 후, B2셀의 단어를 변경해보세요. 모든 항목 중 해당 단어를 포함하는 데이터만 실시간으로 필터링되는 보고서가 완성됩니다.

네이버 쇼핑 스타일 검색 보고서 만들기
엑셀의 '셀 서식'에서 몇 가지 설정만 변경하면, 네이버 쇼핑 스타일의 세련된 보고서를 어렵지 않게 완성할 수 있습니다.
- 네이버 쇼핑 스타일의 보고서 만들기 : [검색 보고서] 시트 또는 [2019이전버전] 시트에서 보고서 머리글을 작성할 B3셀을 선택한 후, 우클릭 - [셀 서식]으로 이동합니다.

- [셀 서식] 대화상자가 실행되면 [채우기] 탭 - [채우기 효과]로 이동한 후, 그라데이션 색의 [다른 색]을 선택합니다.

- "색1"과 "색2"에 각각 아래 색상을 적용합니다. RGB와 HEX 모두 동일한 색상이며, 엑셀 2021 이후 버전에서는 HEX 코드로 색상을 편리하게 입력할 수 있습니다.
① [녹색] : RGB: (1, 175, 53) / HEX: #01AF35
② [보라색] : RGB: (117,98,191) / HEX: #7562BF
- 색을 모두 변경했다면 음영스타일의 방향으로 '세로'를 선택한 후 [확인] 버튼을 클릭합니다. 네이버 쇼핑 스타일의 머리글이 완성됩니다.
오빠두Tip : 보고서를 작성할 때 적절한 색상 조합이 어렵게 느껴진다면 아래 3분 영상강의를 확인해보세요. 누구나 "그림판과 엑셀"만으로 멋진 색감을 구현하는 방법을 정리했습니다.👇
사용자 양식 컨트롤로 실시간 검색 보고서 만들기
마지막 단계로, 양식 컨트롤을 활용해 입력창에 단어를 입력하는 즉시 데이터가 필터링되는 보고서를 완성해 봅니다.
- 입력 텍스트상자 추가하기 : 엑셀 탭 메뉴에서 [개발도구] 탭 - [삽입]을 선택한 후, ActiveX 컨트롤에서 '텍스트 상자'를 선택합니다.
오빠두Tip : 탭 메뉴에 '개발도구'가 보이지 않을 경우, 리본 메뉴를 우클릭 - [리본 메뉴 사용자 지정]에서 개발도구를 활성화합니다. - 시트 위에서 커서를 드래그하면 아래 그림과 같이 값을 입력할 수 있는 텍스트 상자가 추가됩니다.

- 텍스트 상자 속성 변경하기 : 텍스트 상자의 속성을 변경하면 시트와 연동해 사용할 수 있습니다. 텍스트 상자를 우클릭 - [속성]으로 이동합니다.

- 속성 창이 실행되면 중간에 [Linked Cell] 항목이 있습니다. 이 항목의 값을 텍스트 상자와 연동할 셀의 주소로 변경합니다. 이번 예제에서 연동할 셀인 "B2"를 입력하면, B2셀에 작성된 값이 텍스트 상자에 자동으로 입력됩니다.

- 마지막 단계로 텍스트 상자의 디자인을 한층 깔끔하게 다듬어 봅니다. 속성에서 [Special Effect] 옵션을 'Sunken'에서 'Flat'으로 변경하면 텍스트 상자가 보다 깔끔한 형태로 표시됩니다.

- 속성 창을 종료한 후 [개발도구] 탭에서 '디자인모드'를 선택해 디자인 모드를 종료하고 텍스트 상자에 검색할 단어를 입력해보세요. 입력한 단어가 실시간으로 필터링됩니다.
오빠두Tip : 더 나아가 SORT 함수와 드롭다운 상자를 사용해 실시간으로 데이터를 정렬하는 방법은 영상 강의에서 확인할 수 있습니다.
또한 SEARCH 함수를 FIND로는 대체가 않되나요?
단어 순서에 상관없이 검색하려면 OR 조건으로 공식을 사용하면 됩니다.
실방에서는 이 내용을 다루었으나, 정제된 내용이 아니여서 편집영상에는 담지 않았습니다.
아래 공식을 한번 사용해보세요.
OR조건 필터링 :
감사합니다!
위 적어주신 것으로 하면 안나오네요...
아래로 하면 자료가 잘 나오는데
OR 조건으로 하려면 어느 부분을 수정해야 할까요...?
=FILTER(작업중.xlsm!발주확정[입고여부]:작업중.xlsm!발주확정[악성위치2],ISNUMBER(SEARCH(B1,작업중.xlsm!발주확정[검색조건])))
공식의 조건부분인 "ISNUMBER(SEARCH(B1,작업중.xlsm!발주확정[검색조건]))" 을 위에 남겨드린 BYROW 공식으로 수정해보세요.
감사합니다.
이런거 혹시 보신적있나요?
매크로를 추가기능으로 간편하게 지원하는 사이트같은데 국내사용후기는 없고 정보찾기가 어렵네요
추가기능 프로그램을 후기를 충분히 찾아보신 후 잘 사용하면 업무에 많은 도움을 얻으실 수 있으니, 잘 살펴본 후 구매해보세요. :)
감사합니다.
혹시 [개발도구] 탭에서 '디자인 모드' 버튼이 활성화되어 있는지 한번 확인해보시길 바랍니다.
감사합니다.
Active X컨트롤 삭제했다가 다시 설정하면 텍스트 입력이 되는데, 또 저장하거나 파일을 닫았다가 다시 열면 텍스트 입력이 되지 않습니다 ㅠㅠ
말씀만 들어서는 정확한 원인 파악이 어려울 것 같습니다.
예상에는 사용하고 계신 파일의 일시적인 오류일 것 같아 보이는데요. 시트만 다른 파일로 옮겨서 한번 테스트해보시고, 만약 그래도 계속 오류가 있다면 홈페이지의 Q&A 게시판을 통해 문의를 남겨보시겠어요?
감사합니다.
개발도구 텍스트상자에서 검색값 입력할때 왼쪽 상단으로 텍스트가 입력되는데 왼쪽 중간으로 정렬하는 방법이 있는지요?
네 글자크기와 폰트를 변경할 수 있습니다.
[속성] - [Font] 에서 변경해보세요.
단, ActiveX 컨트롤만 글꼴을 변경할 수 있으며 양식컨트롤은 폰트 변경이 불가합니다.
감사합니다.
영감이 떠오르는 자료네요!
근데, 구글 스프레드 시트로는 적용 불가능할까요~?
구글시트에서도 구현 가능합니다.
다만, 입력창과 연동하기 위한 앱스크립트 작성이 필요할 것으로 보이고, 함수만으로 구현이 가능한지는 살펴봐야 할 것 같습니다.
회사 공유폴더로 원드라이브를 사용하고 계실 경우, VBA 코드 실행이 제한될 수 있습니다. 그럴 경우 원드라이브의 그룹 권한 정책 중 오피스 파일의 경로를 물리적 경로로 저장하도록 설정을 변경하면 해결 가능한 것으로 알고 있습니다.
자세한 내용은 아래 두 링크를 확인해보세요.
https://answers.microsoft.com/en-us/windows/forum/all/onedrive-issues-whilst-programming-automation-in/9af302aa-cb42-48f3-adef-50ab08a47279
https://www.windowscentral.com/how-use-onedrive-files-demand-windows-10
감사합니다.
추가로 한가지 질문 드립니다. 만약에 제품리스트에 날짜가 입력이 되어있다고 가정하면, 검색할때 날짜로 검색도 가능할까요??(기간을 정하는걸 의미합니다)
이전 댓글에 남겨드린 답글을 한번 확인해보시겠어요?
https://www.oppadu.com/%ec%a7%84%ec%a7%9c%ec%93%b0%eb%8a%94-%ec%8b%a4%eb%ac%b4%ec%97%91%ec%85%80-7-5-2/
감사합니다.
네 가능합니다.
=SUM(INDEX(범위#,0,열번호))
해시기호 사용법은 아래 링크를 참고해보시길 바랍니다.
초보자를 위한 엑셀 함수 자동화 : '#' 기호 완벽 정리 - 오빠두엑셀 (oppadu.com)
를 사용해보세요.