Google Sheets 조회 함수 총정리: VLOOKUP, XLOOKUP, INDEX/MATCH 비교와 활용법
VLOOKUP, XLOOKUP, INDEX/MATCH 등 Google Sheets의 모든 조회 함수를 명확한 문법과 실전 예제, 흔한 오류 해결책까지 한 번에 정리했습니다.
테스트할 때는 멀쩡해 보이던 google sheets lookup 수식이, 새로 불러온 데이터가 들어오는 순간 행 절반이 잘못된 값을 뱉는 경험, 다들 한 번쯤 있으실 겁니다. 시트는 여전히 계산되고 대시보드도 멀쩡하게 갱신되는데 값만 실제와 어긋나죠. 눈에 띄는 오류를 던지지 않는 탓에 오후 통째로 날려먹기 딱 좋은 버그가 바로 이런 겁니다.
Google Sheets의 조회 함수는 지저분한 표를 바로 쓸 수 있는 레코드로 바꿔준다는 점에서 강력합니다. Google 공식 함수 목록에도 LOOKUP, MATCH, VLOOKUP이 정식 조회 함수군으로 자리 잡았고, 정확 일치 검색용 최신 함수인 XLOOKUP까지 추가됐죠 Google Sheets function list. 문제는 사람들이 외우는 수식과, 운영 데이터와 중복 키, 숨은 공백, 불러온 CSV 특유의 온갖 문제를 뚫고 살아남는 수식이 전혀 다르다는 점입니다.
실전 원칙: 어제까지 잘 되던 조회 수식이 오늘 안 된다면, 수식을 의심하기 전에 데이터가 바뀌었는지부터 의심하세요.
목차
- 실제 스프레드시트에서 조회 수식이 깨지는 이유
- VLOOKUP 문법과 실전 예제
- 정확 일치 검색의 현대적 기본값, XLOOKUP
- 유연한 두 단계 조회를 위한 INDEX와 MATCH
- HLOOKUP과 레거시 조회 함수
- 데이터에 맞는 조회 함수 고르기
- 조회 수식 오류 트러블슈팅
- GPT Workspace로 조회 수식 생성하고 디버깅하기
- Google Sheets 조회 함수 빠른 참조표
실제 스프레드시트에서 조회 수식이 깨지는 이유
깨진 조회 수식의 출발점은 대개 겉보기엔 깨끗하지만 속은 전혀 그렇지 않은 시트입니다. 상품 ID가 한 표에서는 텍스트로, 다른 표에서는 숫자로 저장돼 있고, 외부 업체 파일에는 공백이 하나 붙어 있고, 누군가 범위 일부만 정렬한 채 나머지는 그대로 뒀죠. 수식은 여전히 돌아가지만, 매칭 로직은 이미 엉뚱한 대상을 보고 있는 겁니다.
그래서 google sheets lookup 작업은 문법 암기보다 데이터 구조를 읽는 능력에 가깝습니다. Google의 레거시 함수인 LOOKUP은 정렬된 행 또는 열을 대상으로 작동한다고 공식 문서에 명시돼 있고, MATCH는 일치 항목의 상대적 위치를 반환합니다. 즉 이 도구들은 특정 데이터 가정 위에서 설계됐다는 뜻이죠 Google Sheets function list. 그리고 실전에서 운영 시트가 무너지는 지점은 정확히 그 가정이 깨지는 곳입니다.
흔한 실패 패턴
작고 깨끗한 샘플 데이터로 수식을 만듭니다. 그런데 실제 시트에는 중복 키, 불러온 값, 뒤섞인 서식이 함께 도착하죠. 결과는 눈에 보이는 #N/A 오류이거나, 더 골치 아픈, 아무 경고 없이 잘못된 행을 조용히 돌려주는 사일런트 미스매치입니다.
Google Sheets에서 셀 병합하는 방법은 이 문제의 해결책이 아닙니다. 병합 레이아웃 문제는 구조적 문제를 해결하는 대신 감춰버리는 경우가 많거든요.
가장 먼저 확인할 것
- 키 서식: 조회 키가 양쪽에서 같은 타입인지 확인하세요. ID나 우편번호 같은 필드는 특히 더 그렇습니다.
- 공백: 수식 탓을 하기 전에 앞뒤 공백부터 잘라내세요.
- 중복: 첫 번째 일치 값으로 충분한지부터 정하세요. 많은 조회 함수가 거기서 검색을 멈춥니다.
- 정렬 순서: 근사 일치에 의존한다면 범위가 정렬돼 있는지 반드시 확인하세요.
아무리 깔끔한 조회 수식이라도 결국 가리키는 데이터만큼만 신뢰할 수 있습니다.
VLOOKUP 문법과 실전 예제
VLOOKUP은 여전히 많은 사용자가 가장 먼저 꺼내 드는 함수입니다. 구조가 익숙하고 설명하기도 쉬우니까요. Google 도움말 페이지는 문법을 =VLOOKUP(search_key, range, index, [is_sorted])로 정의하며, 이 형태는 지금도 수많은 스프레드시트 조회 작업의 뼈대입니다(Google Sheets VLOOKUP 도움말). 지정 범위의 첫 번째 열을 위에서 아래로 훑고, 같은 행의 다른 열에서 값을 가져오죠.
예를 들어 카탈로그 시트의 A열에 상품 ID, C열에 가격이 있다고 해봅시다. VLOOKUP은 주문 시트의 ID를 받아 A열을 훑은 뒤, 일치하는 행의 C열 가격을 돌려줄 수 있습니다. 이 부분은 단순명료하고, 그래서 수많은 실무 통합 문서에서 이 함수가 등장하는 겁니다.
정확 일치와 근사 일치
위험 지점은 is_sorted 인수입니다. 정확한 결과를 원한다면 FALSE를 쓰세요. 생략하거나 TRUE를 넣으면 VLOOKUP의 검색 방식이 달라지고 정렬된 데이터를 전제로 작동하는데, 범위가 함수가 기대하는 방식으로 정리돼 있지 않으면 잘못된 답이 나올 수 있습니다(Google Sheets VLOOKUP 도움말).
근사 일치를 위해 의도적으로 정렬해둔 데이터가 아니라면, TRUE는 편의가 아니라 위험 요소로 여기세요.
사람들이 자주 걸리는 구조적 한계
VLOOKUP은 선택한 범위의 가장 왼쪽 열만 검색할 수 있고, 값은 오른쪽에서만 가져올 수 있습니다. 조회 열이 범위 맨 앞에 있어야 한다는 뜻이죠. 아니면 표 구조를 뜯어고쳐야 합니다. 실무 시트에서는 대개 세 가지 중 하나로 귀결됩니다. 열을 옮기거나, 도우미 열을 추가하거나, 함수를 갈아타는 것.

VLOOKUP이 가장 잘 어울리는 건 여전히 단순한 세로 방향, 왼쪽에서 오른쪽 조회입니다. 조회 열이 자리를 옮기거나 데이터 정리가 흐트러지는 순간, 이 수식은 당신 편이 아니라 반대편에서 일하게 됩니다.
정확 일치 검색의 현대적 기본값, XLOOKUP
XLOOKUP은 제가 새 시트에서 가장 먼저 쓰는 조회 함수입니다. 조회 범위와 결과 범위를 분리했기 때문이죠. 이 설계 변화 하나로, VLOOKUP을 실제 데이터 모델에서 어색하게 만드는 왼쪽에서 오른쪽 제약이 사라집니다. Google 도움말 페이지도 이 함수를 조회 범위에서 찾은 위치를 기준으로 결과 범위의 값을 반환하는 기능으로 설명해요 Google Sheets XLOOKUP 도움말. 실전에서는 수식을 읽기도 쉽고 유지보수하기도 쉬워진다는 뜻입니다.
또 하나의 이유는 실패 처리 방식입니다. Google에 따르면 XLOOKUP은 정확히 일치하는 값을 찾지 못했을 때 가장 가까운 값을 돌려주는 기본 동작을 합니다. 그래서 예측 가능한 결과를 원한다면 missing_value 인수가 중요하죠 Google Sheets XLOOKUP 도움말. 실무 시트에서 이런 조용한 대체 동작은 대체로 원하던 게 아닙니다.
문법이 중요한 이유
XLOOKUP은 조회 키가 한 열에, 반환 값이 다른 열에 있어도 되고, 반환 열이 키의 왼쪽인지 오른쪽인지 전혀 신경 쓰지 않습니다. 이 유연성 덕분에 도우미 열과 범위 재배치 작업이 크게 줄어듭니다. 원본 표가 이미 잘 정리돼 있다면 시트 간 조회 수식도 훨씬 읽기 쉬워지고요.
정확 일치와 없는 값 처리
정확 일치 작업 흐름에서는 수식이 임기응변하게 두지 말고, 값을 못 찾았을 때의 결과를 명시하는 게 더 안전한 패턴입니다. 실무 대시보드에서는 특히 그렇죠. 우연히 근사값이 들어가는 것보다 빈칸이나 명확한 메시지가 낫습니다.
좋은 XLOOKUP 수식의 핵심은 영리함이 아니라 제어입니다.

불러온 표, 지저분한 추출 데이터, 왼쪽 가장자리에 딱 붙지 않는 열을 다루는 팀이라면 XLOOKUP이 대체로 더 깔끔한 기본값입니다. VLOOKUP도 오래된 통합 문서나 단순한 근사 일치 모델에서는 여전히 자리가 있지만, 정확한 조회가 목적이라면 불필요한 재작업을 가장 덜 유발하는 함수는 XLOOKUP입니다.
유연한 두 단계 조회를 위한 INDEX와 MATCH
XLOOKUP이 등장하기 전에는 INDEX/MATCH 조합이 VLOOKUP의 열 제한을 빠져나가는 표준 탈출구였고, 이미 이 조합으로 짜인 통합 문서에서는 지금도 제 몫을 해냅니다. Google 함수 목록은 MATCH를 지정한 값과 일치하는 항목의 상대적 위치를 반환하는 함수로 분류하는데, 바로 이 점 때문에 이 콤비가 잘 맞는 겁니다 Google Sheets function list. MATCH가 행이나 열의 위치를 찾으면, INDEX가 다른 범위의 같은 위치에서 값을 가져오는 구조죠.
두 함수가 역할을 나누는 방식
MATCH는 ‘키가 어디 있지?‘라는 질문에 답하고, INDEX는 ‘그 자리에는 어떤 값이 있지?‘라는 질문에 답합니다. 이 역할 분리는 조회 열이 반환 열 오른쪽에 있을 때 특히 유용합니다. 키를 억지로 범위의 첫 번째 열로 만들 필요가 없어지니까요.
이렇게 생각하면 간단합니다. VLOOKUP은 표를 검색해서 한 열을 반환하고, INDEX/MATCH는 한 범위를 검색해서 다른 범위에서 값을 반환합니다. 덕분에 표 설계를 더 자유롭게 할 수 있고, 원본 데이터를 재배치할 이유도 줄어듭니다.
다중 조건 조회
INDEX/MATCH는 키 하나로는 부족한 다중 조건 설정에서도 자주 등장합니다. 이럴 때는 여러 조건을 묶어서, 모든 조건이 맞아떨어질 때만 올바른 행을 반환하도록 만들죠. Google Sheets에서는 이 패턴에 배열 처리를 신경 써야 할 때가 많습니다. Excel식 수식을 행마다 복사해 내려가면 로직이 깨지거나 의도한 배열 확장 동작이 가려질 수 있거든요.
유용한 습관: INDEX/MATCH 수식이 읽기 어려워지면 더 압축하려 하지 마세요. 위치 로직과 반환 로직을 분리해서 각각 따로 테스트해보세요.
대부분의 새 작업에는 XLOOKUP이 더 간단하지만, 오래된 파일, 호환성이 중요한 환경, 그리고 이 조합의 유연성에 이미 의존하는 모델에서는 INDEX/MATCH가 여전히 중요합니다.
HLOOKUP과 레거시 조회 함수
Google Sheets에는 좁은 레이아웃에서 빛을 발하는 조회 도구들이 여전히 남아 있고, 그 대표 주자가 HLOOKUP입니다. 열을 따라 내려가며 검색하는 대신 행을 가로질러 검색하는 함수죠. 데이터가 행과 열로 뒤바뀌어 있거나 피벗 스타일 요약처럼 생겼다면 아주 편리합니다. 카테고리가 가로로 늘어서 있다면 억지로 구조를 고치는 대신 HLOOKUP이 곧바로 답이 될 수 있어요.
더 오래된 LOOKUP 함수는 제약도 많고 깨지기도 쉽습니다. Google 문서에 따르면 이 함수는 정렬된 행 또는 열을 훑고 대응하는 값을 반환하는데, 그래서 원본 데이터가 이미 그 모델에 딱 맞을 때만 쓸 만합니다 Google Sheets function list. 정렬된 데이터라는 요구 사항 때문에 요즘처럼 불러온 표에서 LOOKUP이 올바른 기본값이 되는 일은 거의 없죠.
MATCH 단독으로 쓰는 경우
MATCH는 최종 값이 아니라 위치만 필요할 때도 단독으로 유용합니다. 동적 참조를 만드는 수식이나, 원본 데이터 대신 인덱스 번호를 필요로 하는 다른 함수에 값을 넘겨줄 때 흔히 쓰이죠. 작은 함수지만 수식 전체에 뼈대를 잡아줍니다.
여전히 쓸모 있는 순간
- HLOOKUP: 표가 원래 가로 방향이고 행/열 전치를 원하지 않을 때 쓰세요.
- LOOKUP: 데이터가 이미 정렬돼 있고 단순한 레거시 동작으로 충분할 때만 쓰세요.
- MATCH: 반환 값보다 위치가 더 중요할 때 쓰세요.
이들은 범용 기본값이 아니라 특수 목적 도구입니다. 툴킷에 넣어둘 가치는 충분하지만, 새 시트에서 제일 먼저 꺼내 들 함수는 아닙니다.
데이터에 맞는 조회 함수 고르기
선택 자체는 수식 문법이 주는 인상보다 단순합니다. 먼저 데이터 모양에서 출발한 뒤, 정확 일치가 필요한지, 근사 일치인지, 중복 처리 지원이 필요한지 물어보세요. 표가 세로 방향이고 키가 왼쪽에 있다면 선택지가 넓어집니다. 데이터가 지저분하거나 불러온 것이라면 편하게 쓸 수 있는 선택지가 줄어들고요.
| 함수 | 방향 | 검색 열 위치 | 일치 방식 | 최적 사용 사례 |
|---|---|---|---|---|
| VLOOKUP | 세로 | 첫 번째 열만 | 정확 또는 근사 | 안정적인 표에서 단순한 왼쪽에서 오른쪽 조회 |
| XLOOKUP | 세로 | 모든 열 | 기본값이 정확 일치 | 새 워크시트, 정렬되지 않은 데이터, 유연한 조회 |
| INDEX/MATCH | 설계에 따라 세로 또는 가로 | 임의의 분리 범위 | 정확 또는 커스텀 | 레거시 호환성과 유연한 표 레이아웃 |
| HLOOKUP | 가로 | 맨 위 행 | 정확 또는 근사 | 전치된 데이터와 가로 요약 |
| LOOKUP | 세로 또는 가로 | 정렬된 범위 | 근사 스타일 레거시 동작 | 이미 정렬된 오래된 시트 |
| MATCH | 세로 또는 가로 | 모든 범위 | 위치만 반환 | 행/열 인덱스가 필요한 동적 수식 |
통합 문서가 새로 만든 것이고 결과가 정확해야 한다면 보통 XLOOKUP이 가장 무난한 선택입니다. VLOOKUP은 오래된 파일이나 일부 근사 일치 사례, 특히 단계형 기준표를 의도적으로 정렬해둔 경우에 여전히 자리가 있죠. HLOOKUP은 가로 레이아웃 전용이고, LOOKUP은 정렬된 범위 동작이 정확히 필요한 게 아니라면 대부분 레거시 유물입니다.
중요한 건 어떤 수식이 익숙해 보이느냐가 아닙니다. 바라던 데이터가 아니라, 지금 손에 있는 데이터에 맞는 수식을 고르는 겁니다.
조회 수식 오류 트러블슈팅
가장 잡기 어려운 조회 버그는 수식 문제처럼 보이는 데이터 문제입니다. 대표적인 예가 중복 키죠. XLOOKUP을 비롯한 많은 조회 패턴은 첫 번째 일치값만 반환합니다. 시트에 같은 식별자가 반복돼 있으면 수식은 기술적으로는 맞는데 실무적으로는 틀린 결과를 내놓는 상황이 생깁니다.
두 번째 실패 유형은 확장 범위가 막혀서 생기는 #REF! 오류입니다. 수식이 여러 결과나 배열 출력을 반환하려는데 아래나 옆 셀이 비어 있지 않을 때 발생하죠. Google 공식 도움말은 문법을 다루지만, 실제 지원 스레드에는 이런 확장과 중복 예외 사례가 넘쳐납니다. 함수 문서가 지저분한 부분까지 짚어주지는 않기 때문입니다 XLOOKUP 오류 가이드.
내가 가장 자주 확인하는 문제들
- 중복 키: 수식을 쓰기 전에 첫 번째 일치, 마지막 일치, 전체 일치 중 무엇이 필요한지부터 정하세요.
- 막힌 확장 범위: 배열 결과가 늘어날 수 있게 출력 영역을 비워두세요.
- 텍스트와 숫자 불일치: 조회 양쪽이 키를 같은 타입으로 저장하는지 확인하세요.
- 로캘 구분자: 불러온 파일에는 복사한 수식을 깨는 구분자 규칙이 따라올 수 있습니다.
- 불러오기로 생긴 공백: 숨은 공백은 겉보기에 랜덤처럼 보이는 정확 일치 실패를 일으키는 경우가 많습니다.
다중 조건 조회에서도 사람들이 자주 넘어집니다. 패턴을 여러 행에 복사할 때 Google Sheets는 Excel과 항상 같게 움직이지 않거든요. Sheets에서 배열 로직은 Excel 수식을 행마다 복제하는 대신 ARRAYFORMULA 처리가 필요할 때가 많습니다. 두 열을 비교하거나 복합 조건을 만들거나 수동 채우기 없이 여러 값을 반환하려 할 때 이 차이가 걸림돌이 됩니다.
기발한 수식 한 줄보다 규칙적인 데이터 정리가 매번 이깁니다.

실전 정리 워크플로는 이렇습니다. 타입을 통일하고, 공백을 잘라내고, 중첩 로직을 얹기 전에 조회 키를 따로 떼어 테스트하는 것. 데이터가 안정되면 수식은 대개 훨씬 단순해집니다. 데이터가 불안정하면 세상 최고의 조회 함수라도 아주 당당하게 잘못된 행을 반환합니다.
원본 표가 들어올 때마다 ID가 어긋나고, 구분자가 엉망이고, 숨은 서식 때문에 정확 일치가 자꾸 깨진다면 Google Sheets AI 데이터 정리를 참고하세요.
GPT Workspace로 조회 수식 생성하고 디버깅하기
복잡한 조회 수식은 오타가 나기 쉽고 손으로 디버깅하기도 짜증 납니다. 특히 시트 간 참조, 다중 조건 로직, 배열 출력을 동시에 다룰 때요. GPT Workspace는 =GPT 함수로 수식 생성과 디버깅을 Sheets 안으로 가져옵니다. 일상 언어로 조회를 설명하면 통합 문서 안에서 수식을 돌려받는 거죠. 선택 범위 분석도 지원해서, 함수를 고르기 전에 표 구조를 점검하고 싶을 때도 도움이 됩니다.
이게 중요한 이유는 많은 조회 오류가 애초에 문법 오류가 아니기 때문입니다. 설계 오류죠. XLOOKUP이 필요한 레이아웃에 VLOOKUP을 골랐다거나, 배열 동작을 조정하지 않고 Excel 패턴을 Sheets에 그대로 복사한 경우 말입니다.
실전 활용 패턴
- 시작 수식 생성하기: 시트의 열에 맞춰 VLOOKUP, XLOOKUP, INDEX/MATCH 수식을 요청해보세요.
- 고장난 수식 설명받기: 수식을 붙여넣고 #N/A나 잘못된 행이 나오는 이유를 물어보세요.
- 패턴 전환하기: 통합 문서 상황이 허락한다면 레거시 조회를 더 깔끔한 XLOOKUP 버전으로 바꿔보세요.
여기서 가치는 마법이 아닙니다. 속도와 일관성이죠. 스프레드시트가 크고 조회 로직이 겹겹이 쌓여 있을 때, 수식 어시스턴트는 시행착오를 크게 줄여줍니다. 모든 함수 변형을 외우고 싶지 않은 팀이라면 더욱 그렇습니다.
GPT Workspace Sheets 수식 생성기는 이 워크플로를 위한 선택지 중 하나입니다. Google Sheets를 벗어나지 않고 수식 초안이나 설명 도움을 받고 싶을 때 가장 잘 어울리죠. 스프레드시트 안에서 사는 팀이라면 이런 시트 내 도움 기능 덕분에 조회 로직을 대상 데이터 바로 옆에 둘 수 있습니다.

Google Sheets 조회 함수 빠른 참조표
시트를 이미 열어놓고 수식을 한 번에 맞춰야 할 때, 이 참조표를 빠른 판단 도구로 쓰세요.
- VLOOKUP:
=VLOOKUP(search_key, range, index, [is_sorted]). 키가 첫 번째 열에 있는 단순한 세로 조회에 최적. 주요 한계는 왼쪽에서 오른쪽으로만 검색 가능하다는 점. - XLOOKUP: 조회 범위를 검색하고 별도의 결과 범위에서 반환. 새 시트의 정확 일치 작업에 최적. 주요 한계는 없는 값 동작을 여전히 명시적으로 관리해야 한다는 점.
- INDEX/MATCH: MATCH가 위치를 찾고 INDEX가 값을 반환하는 두 함수 패턴. 유연한 레이아웃과 오래된 통합 문서에 최적. 주요 한계는 수식이 XLOOKUP보다 덜 간결하다는 점.
- HLOOKUP: 행을 가로지르는 가로 조회. 전치되었거나 피벗 같은 표에 최적. 주요 한계는 데이터가 맨 위 행으로 늘어선 경우에만 자연스럽게 작동한다는 점.
- LOOKUP: 정렬된 범위를 쓰는 레거시 함수. 데이터가 이미 정렬되고 단순할 때 최적. 주요 한계는 정렬 요구 사항 때문에 깨지기 쉽다는 점.
- MATCH: 값이 아니라 위치를 반환. 동적 참조와 도우미 로직에 최적. 주요 한계는 단독으로 데이터를 가져올 수 없다는 점.
XLOOKUP과 VLOOKUP 사이에서 고민 중이라면, 표 모양과 필요한 오류 허용 범위에서부터 시작하세요. 이상한 결과를 디버깅하다 막혔다면 트러블슈팅 섹션으로 돌아가 수식보다 데이터를 먼저 확인하세요. 오래된 시트에서 작업 중이라면 INDEX/MATCH가 여전히 가장 유연한 대안입니다.
팀이 계속 깨지는 조회 수식과 씨름하고 있다면, GPT Workspace가 =GPT 함수와 범위 인식 분석으로 Google Sheets 안에서 직접 수식을 생성하고, 설명하고, 디버깅해줄 수 있습니다. 일상적인 조회, 정리, 분석 업무에 어떻게 어울리는지는 GPT Workspace에서 직접 확인해보세요.