엑셀 사용법 · 위키

엑셀 VLOOKUP 사용법과 오류 해결 — 네 번째 인수·#N/A·#REF! (XLOOKUP 대안)

최종 수정: 2026.10.07 ·작성자: itread 편집자

사번으로 이름을 붙이고 품목으로 단가를 붙이는 일은 VLOOKUP 하나로 끝나는데요.

그런데 같은 수식이 어떤 날은 #N/A를 뱉고 어떤 날은 멀쩡해 보이는 엉뚱한 값을 돌려줍니다. 원인은 대부분 네 번째 인수와 첫 열 규칙 두 가지에 모여 있습니다.

등호·괄호·$ 고정처럼 모든 함수에 공통인 수식 문법은 엑셀 함수 정리와 수식 쓰는 법에 따로 두었고, 이 글은 찾기 함수에만 집중합니다.

마이크로소프트는 인수를 지정하지 않으면 기본값이 항상 TRUE, 곧 유사 일치라고 적어 두었습니다.1 빈칸으로 두는 순간 함수는 「비슷한 값」을 찾는 도구가 됩니다.

VLOOKUP 오류 세 가지 비교 — #N/A는 조회 값을 못 찾은 것이라 형식과 공백을 확인하고, #REF!는 열 번호가 범위를 벗어난 것이라 범위나 열 번호를 맞추고, #VALUE!는 조회 값이 255자를 넘거나 열 번호가 1보다 작은 경우

오류 기호별 원인 (출처: 마이크로소프트 지원 문서, 2026-09-18 확인)

인수 네 개가 각각 무엇을 받는가

마이크로소프트는 이 함수의 구성을 한 줄로 적어 두었습니다. 조회하려는 항목, 찾고자 하는 위치, 반환할 값이 포함된 범위의 열 번호, 그리고 대략적 또는 정확히 일치 여부입니다.2

앞의 두 개는 대부분 맞게 씁니다. 사고는 뒤의 두 개에서 납니다.

세 번째 인수인 열 번호는 시트의 열 이름이 아닙니다. 반환 값이 포함된 열 번호를 지정한 범위의 가장 왼쪽 열에서 1부터 세는 값입니다.3

예를 들어 범위를 B2:D11로 잡았다면 B가 1번, C가 2번, D가 3번입니다. 시트에서 D가 네 번째 열이라고 해서 4를 넣으면 범위 밖을 가리키게 됩니다.

네 번째 인수를 비우면 유사 일치가 된다

어긋남이 자주 나는 자리가 여기입니다. 마이크로소프트는 정확한 일치가 필요하면 FALSE를 지정하라고 안내하면서, 항목을 지정하지 않으면 기본값은 항상 TRUE나 유사 일치가 된다고 적고 있습니다.1

유사 일치에는 조건이 붙습니다. TRUE이거나 인수를 뺐으면 첫 번째 열을 사전순 또는 숫자순으로 정렬해야 하고, 정렬되어 있지 않으면 잘못된 값이 반환될 수 있습니다.4

이 조합이 위험한 이유는 오류가 안 나기 때문입니다. #N/A는 눈에 띄지만, 유사 일치가 집어 온 옆줄 값은 그냥 숫자로 보입니다.5

그래서 명단·단가·코드를 맞추는 작업이라면 네 번째 인수에 FALSE(또는 0)를 항상 적는 편이 안전합니다.

네 번째 인수빈칸으로 두면 TRUE로 동작
FALSE · 0
  • 정확히 일치만 인정
  • 정렬 필요 없음
  • 못 찾으면 #N/A
TRUE · 1 · 빈칸
  • 가장 가까운 값
  • 첫 열 정렬이 전제
  • 틀린 값이 조용히 들어옴
같은 수식이 다르게 동작하는 갈림길은 대부분 이 자리입니다.

조회 값은 범위의 첫 열에 있어야 한다

규칙이 하나 더 있는데 방향입니다. 조회하려는 값은 범위로 지정한 영역의 첫 번째 열에 있어야 합니다.6

사번으로 이름을 찾는데 사번 열이 이름 열 오른쪽에 있다면 이 함수로는 잡히지 않습니다. 원본 표의 열 순서를 바꾸거나, 뒤에서 다룰 XLOOKUP으로 가야 합니다.

범위를 잡을 때 조회 열부터 시작하는 습관이 사고를 줄입니다. 조회 값이 C열에 있으면 범위도 C열부터 시작해야 합니다.6

#N/A — 값을 못 찾았다는 뜻

이 오류는 조회 계열 함수에서 가장 흔합니다. 마이크로소프트는 수식이 참조된 값을 찾을 수 없을 때 XLOOKUP, VLOOKUP, HLOOKUP, LOOKUP, MATCH에서 가장 일반적으로 발생한다고 설명합니다.7

정확히 일치로 놓았다면 해석은 단순합니다. FALSE일 때의 #N/A는 정확한 값을 찾을 수 없다는 표시입니다.8

유사 일치일 때는 뜻이 하나 더 있습니다. 조회 값이 첫 열의 가장 작은 값보다 작으면 그 자체로 #N/A가 납니다.9

값이 분명히 있는데도 못 찾을 때

화면으로 보면 같은 값인데 못 찾는 경우가 있습니다. 첫 번째 용의자는 데이터 형식입니다. 조회 값은 숫자인데 원본이 텍스트로 저장돼 있으면 다른 값으로 취급됩니다.10

같은 함정을 VLOOKUP 문서도 따로 경고합니다. 숫자나 날짜를 찾을 때는 범위 첫 열의 데이터가 텍스트로 저장돼 있지 않은지 확인하라는 문장입니다.11

그다음 용의자는 공백입니다. 붙여 넣은 명단에는 앞뒤 공백이 섞여 들어오는데, TRIM 함수로 선행·후행 공백을 없앨 수 있습니다.12

부분 일치가 필요하다면 와일드카드도 있습니다. 네 번째 인수가 FALSE이고 조회 값이 텍스트일 때 물음표와 별표를 쓸 수 있습니다.13

#REF!와 #VALUE! — 인수 자리의 문제

#REF!는 열 번호가 범위 밖을 가리킬 때 납니다. 마이크로소프트 예시는 범위가 A:D로 네 개 열인데 열 5를 요구한 경우를 듭니다.14

조치는 둘 중 하나입니다. 범위를 더 크게 잡거나, 참조 범위에 맞게 열 번호를 줄이면 됩니다.15

#VALUE!는 결이 다릅니다. 조회 값이 255자를 넘으면 이 오류가 나고,16 열 번호 자리에 1보다 작은 값이 들어가도 마찬가지입니다.17

다른 함수를 중첩했을 때 그 함수가 0을 돌려주는 경우가 후자에 해당합니다.17 열 번호 자리에 계산식을 넣었다면 그 계산 결과부터 확인해야 합니다.

#NAME?과 #SPILL! — 표기에서 나는 오류

#NAME?은 대개 따옴표 문제입니다. 마이크로소프트는 이 오류가 보통 수식에 따옴표가 누락되었음을 의미한다고 적고 있습니다.18

이름이나 품목처럼 글자를 직접 조회 값으로 넣을 때 따옴표를 빠뜨리면 여기에 걸립니다.

#SPILL!은 범위를 통째로 넣었을 때 나옵니다. 수식이 조회 값에 대한 암시적 교차에 의존하면서 전체 열을 참조로 쓰는 경우입니다.19

해법은 두 가지로 적혀 있습니다. =VLOOKUP(@A:A,A:C,2,FALSE)처럼 @ 연산자로 조회 참조를 고정하거나, 전체 열 대신 =VLOOKUP(A2,A:C,2,FALSE)처럼 단일 셀을 참조하는 것입니다.19

조회 값 자리에는 열 전체가 아니라 셀 하나를 넣는 것이 기본입니다.

XLOOKUP으로 바꾸는 편이 나은 경우

두 함수는 구조부터 다릅니다. XLOOKUP은 조회 배열과 반환 배열을 따로 받고, VLOOKUP은 단일 테이블 배열 뒤에 열 인덱스 번호를 씁니다.20

그래서 방향 제약이 사라집니다. 조회 열이 반환 열의 오른쪽에 있어도 되지만 VLOOKUP은 왼쪽에서 오른쪽으로만 봅니다.21

기본값도 반대입니다. XLOOKUP의 일치 방식은 0, 곧 정확히 일치가 기본값이고 못 찾으면 #N/A를 반환합니다.22

못 찾았을 때 표시할 문구도 인수로 받습니다. 유효한 일치 항목이 없으면 지정한 「if_not_found」 텍스트를 돌려줍니다.23 VLOOKUP을 IFERROR로 감쌀 필요가 줄어드는 자리입니다.

명단을 맞출 때 걸리는 법 조항

VLOOKUP을 쓰는 일은 대개 사람 명단을 맞추는 일입니다. 다른 목적으로 받아 둔 파일을 끌어와 붙이는 순간 법 조항이 붙습니다.

개인정보 보호법 제18조제1항은 수집 목적 범위를 초과해 이용하거나 제3자에게 제공하는 것을 금지합니다.24 부서 간에 주고받은 명단도 여기에 들어갑니다.

예외는 같은 조 제2항이 각 호로 따로 정하고 있습니다. 사내 작업에서 실제로 걸리는 것은 앞의 두 호로, 정보주체로부터 별도의 동의를 받은 경우와 다른 법률에 특별한 규정이 있는 경우입니다(제5호부터 제9호까지는 공공기관에만 적용).25 근거 없이 합치기부터 하지 말고, 받은 목적 안의 작업인지 먼저 확인하는 순서가 안전합니다.

표 자체를 다루는 방법은 엑셀 표 만들기에, 무료로 쓸 수 있는 범위는 엑셀 무료 사용과 이용 범위에 정리해 두었습니다.

수식이 틀렸을 때 확인하는 순서

원인을 한 번에 맞히려 하지 말고 위에서부터 내려가는 편이 빠릅니다. 대부분 세 번째 단계 안에서 걸립니다.

  1. 네 번째 인수에 FALSE가 적혀 있는지 본다. 비어 있으면 유사 일치로 동작한다.1
  2. 조회 값이 범위의 첫 열에 있는지 본다. 왼쪽 값을 가져오려는 수식이면 이 함수로는 안 된다.6
  3. 열 번호를 범위 안에서 다시 센다. 범위의 가장 왼쪽 열이 1번이다.3
  4. 조회 값과 원본의 셀 형식을 맞춘다. 숫자를 찾는데 원본이 텍스트면 다른 값이 된다.10
  5. 원본 명단에 TRIM을 걸어 앞뒤 공백을 지운다.12

예를 들어 범위가 B2:D11이고 D열 값을 가져와야 한다면 열 번호는 3입니다. 시트 기준 네 번째 열이라는 이유로 4를 넣으면 범위가 세 열뿐이라 #REF!가 납니다.14

증상별로 찾아가는 표

증상 흔한 원인 확인할 것
#N/A가 뜬다 조회 값이 원본에 없음 형식 불일치·앞뒤 공백·네 번째 인수
값이 있는데 #N/A 숫자가 텍스트로 저장됨 원본 첫 열의 셀 형식
오류 없이 틀린 값 유사 일치로 동작 네 번째 인수를 FALSE로
#REF! 열 번호가 범위 밖 범위 열 수와 열 번호 대조
#VALUE! 255자 초과·열 번호 1 미만 조회 값 길이·중첩 함수 결과
#NAME? 따옴표 누락 텍스트 조회 값의 따옴표
#SPILL! 전체 열을 조회 값으로 @ 연산자로 고정하거나 셀 하나로 바꾸기

증상 이름만 알아도 확인할 자리가 한두 곳으로 좁혀집니다.

자주 묻는 질문

VLOOKUP에서 #N/A 오류가 계속 뜹니다.

조회 값을 찾지 못했다는 뜻이고, 조회 계열 함수에서 가장 흔한 오류입니다.7 값이 분명히 있는데도 뜬다면 조회 값과 원본의 데이터 형식이 다른 경우가 많습니다.10 붙여 넣은 명단이면 TRIM으로 앞뒤 공백을 지워 보는 것도 방법입니다.12

VLOOKUP 네 번째 인수는 무엇을 넣어야 하나요?

정확히 일치를 원하면 FALSE(또는 0)를 넣습니다. 항목을 지정하지 않으면 기본값은 항상 TRUE, 곧 유사 일치가 됩니다.1 유사 일치로 동작할 때는 첫 번째 열이 정렬돼 있어야 하고, 정렬돼 있지 않으면 잘못된 값이 반환될 수 있습니다.4

찾을 값이 오른쪽에 있는데 왼쪽 값을 가져올 수 있나요?

VLOOKUP으로는 안 됩니다. 조회하려는 값은 지정한 범위의 첫 번째 열에 있어야 합니다.6 XLOOKUP은 조회 배열과 반환 배열을 따로 받아 방향 제약이 없지만 VLOOKUP은 왼쪽에서 오른쪽으로만 봅니다.21

#REF! 오류는 왜 나나요?

열 번호가 지정한 범위를 벗어났을 때입니다. 마이크로소프트 예시는 참조 범위가 열 네 개짜리 A:D인데 열 5를 요구한 경우입니다.14 범위를 더 크게 조정하거나 범위에 맞게 열 번호를 줄이면 됩니다.15

#VALUE! 오류는 어떤 경우인가요?

두 가지가 자주 걸립니다. 조회 값이 255자를 초과한 경우와,16 열 번호 자리에 1보다 작은 값이 들어간 경우입니다.17 중첩한 함수가 0을 돌려주면 후자에 해당합니다.

다른 부서에서 받은 명단을 VLOOKUP으로 붙여도 되나요?

받은 목적 안에서만 됩니다. 개인정보 보호법 제18조제1항은 수집 목적 범위를 초과한 이용과 제3자 제공을 금지하고 있습니다.24

예외는 같은 조 제2항이 각 호로 정합니다. 사내에서 쓰이는 것은 정보주체의 별도 동의나 다른 법률의 특별한 규정이고, 제5호부터 제9호까지는 공공기관에만 적용됩니다.25

목적이 다른 명단을 합치기 전에 근거를 먼저 확인해야 합니다.

  1. Microsoft, 「VLOOKUP 함수 — 네 번째 인수의 기본값」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “항목을 지정하지 않으면, 기본값은 항상 TRUE나 유사 일치가 됩니다.” ↩ ↩2 ↩3 ↩4

  2. Microsoft, 「VLOOKUP 함수 — 수식 구성」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “=VLOOKUP(조회하려는 항목, 찾고자 하는 위치, 반환할 값이 포함된 범위의 열 번호, 대략적 또는 정확히 일치 반환 - 1/TRUE 또는 0/FALSE로 표시).” ↩

  3. Microsoft, 「VLOOKUP 함수 — col_index_num 인수」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “반환 값이 포함된 열 번호( table_array의 가장 왼쪽 열에서 1부터 시작)입니다.” ↩ ↩2

  4. Microsoft, 「VLOOKUP 함수 — 잘못된 값이 반환되는 경우」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “range_lookup이 TRUE이거나 제외되면 첫 번째 열을 사전순 또는 숫자순으로 정렬해야 합니다. 첫 번째 열이 정렬되어 있지 않으면 잘못된 값이 반환될 수 있습니다.” ↩ ↩2

  5. Microsoft, 「#N/A 오류를 수정하는 방법 — TRUE가 부르는 잘못된 결과」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-n-a-error (2026-09-18 확인). “함수가 유사 일치 항목을 찾도록 하는 TRUE를 사용하면 #N/A 오류가 발생할 뿐만 아니라 다음 예에 표시된 것처럼 잘못된 결과를 반환합니다.” ↩

  6. Microsoft, 「VLOOKUP 함수 — lookup_value 인수」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “조회하려는 값은 table_array 인수에 지정한 셀 범위의 첫 번째 열에 있어야 합니다.” ↩ ↩2 ↩3 ↩4

  7. Microsoft, 「#N/A 오류를 수정하는 방법 — 가장 흔한 상황」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-n-a-error (2026-09-18 확인). “#N/A 오류는 수식이 참조된 값을 찾을 수 없을 때 XLOOKUP, VLOOKUP, HLOOKUP, LOOKUP 또는 MATCH 함수에서 가장 일반적으로 발생합니다.” ↩ ↩2

  8. Microsoft, 「VLOOKUP 함수 — 정확히 일치에서 나는 #N/A」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “range_lookup가 FALSE이면 #N/A 오류 값은 정확한 숫자를 찾을 수 없음을 나타냅니다.” ↩

  9. Microsoft, 「VLOOKUP 함수 — 유사 일치에서 나는 #N/A」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “lookup_value의 값이 table_array의 첫 번째 열에 있는 가장 작은 값보다 작으면 #N/A 오류 값이 표시됩니다.” ↩

  10. Microsoft, 「#N/A 오류를 수정하는 방법 — 데이터 형식 불일치」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-n-a-error (2026-09-18 확인). “조회 값 및 원본 데이터의 데이터 형식이 서로 다릅니다. 예를 들어 VLOOKUP에서 숫자를 참조하도록 했으나 원본 데이터가 텍스트로 저장되어 있을 수 있습니다.” ↩ ↩2 ↩3

  11. Microsoft, 「VLOOKUP 함수 — 텍스트로 저장된 숫자」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “숫자 또는 날짜 값을 검색할 때 table_array 의 첫 번째 열에 있는 데이터가 텍스트 값으로 저장되어 있지 않은지 확인하세요.” ↩

  12. Microsoft, 「#N/A 오류를 수정하는 방법 — 공백 제거」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-n-a-error (2026-09-18 확인). “TRIM 함수를 사용하여 선행 또는 후행 공백을 제거할 수 있습니다.” ↩ ↩2 ↩3

  13. Microsoft, 「VLOOKUP 함수 — 와일드카드 문자」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “range_lookup이 FALSE이고 lookup_value가 텍스트이면 lookup_value에 와일드카드 문자(물음표(?) 및 별표(*))를 사용할 수 있습니다.” ↩

  14. Microsoft, 「#REF! 오류를 수정하는 방법 — VLOOKUP 예시」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-ref-error (2026-09-18 확인). “열 5에서 반환할 값을 찾고 있지만 참조 범위가 열이 4개뿐인 A:D이므로” ↩ ↩2 ↩3

  15. Microsoft, 「#REF! 오류를 수정하는 방법 — 조치」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-ref-error (2026-09-18 확인). “범위를 더 크게 조정하거나 참조 범위와 일치하도록 열 조회 값을 줄입니다.” ↩ ↩2

  16. Microsoft, 「VLOOKUP 함수의 #VALUE! 오류 수정 — 255자 초과」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-value-error-in-the-vlookup-function (2026-09-18 확인). “문제: lookup_value 인수가 255자를 초과합니다.” ↩ ↩2

  17. Microsoft, 「VLOOKUP 함수의 #VALUE! 오류 수정 — 열 번호가 1보다 작음」, https://support.microsoft.com/ko-kr/excel/how-to-correct-a-value-error-in-the-vlookup-function (2026-09-18 확인). “이 오류는 col_index_num 인수의 오타 또는 실수로 인덱스 값으로 1보다 작은 숫자를 지정하여 발생할 수 있습니다.” ↩ ↩2 ↩3

  18. Microsoft, 「VLOOKUP 함수 — #NAME? 오류」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “#NAME? 오류 값은 보통 수식에 따옴표가 누락되었음을 의미합니다.” ↩

  19. Microsoft, 「VLOOKUP 함수 — #SPILL! 오류」, https://support.microsoft.com/ko-kr/excel/functions/vlookup-function (2026-09-18 확인). “일반적으로 수식이 조회 값에 대한 암시적 교차에 의존하고 전체 열을 참조로 사용한다는 것을 의미합니다. 예: =VLOOKUP( A:A,A:C,2,FALSE). =VLOOKUP(@A:A,A:C,2,FALSE)와 같이 @ 연산자로 조회 참조를 고정하여 문제를 해결할 수 있습니다. 또는 기존 VLOOKUP 방법을 사용하여 전체 열 대신 단일 셀을 참조할 수 있습니다. =VLOOKUP(A2,A:C,2,FALSE).” ↩ ↩2

  20. Microsoft, 「XLOOKUP 함수 — VLOOKUP과의 구조 차이」, https://support.microsoft.com/ko-kr/excel/functions/xlookup-function (2026-09-18 확인). “XLOOKUP은 조회 배열과 반환 배열을 사용하는 반면, VLOOKUP은 단일 테이블 배열 뒤에 열 인덱스 번호를 사용합니다.” ↩

  21. Microsoft, 「XLOOKUP 함수 — 조회 방향」, https://support.microsoft.com/ko-kr/excel/functions/xlookup-function (2026-09-18 확인). “lookup_array 열은 return_array 열의 오른쪽에 있는 반면 VLOOKUP은 왼쪽에서 오른쪽으로만 볼 수 있습니다.” ↩ ↩2

  22. Microsoft, 「XLOOKUP 함수 — match_mode 기본값」, https://support.microsoft.com/ko-kr/excel/functions/xlookup-function (2026-09-18 확인). “0 - 정확히 일치합니다. 아무것도 찾을 수 없으면 #N/A를 반환합니다. 기본값입니다.” ↩

  23. Microsoft, 「XLOOKUP 함수 — if_not_found 인수」, https://support.microsoft.com/ko-kr/excel/functions/xlookup-function (2026-09-18 확인). “유효한 일치 항목을 찾을 수 없는 경우 제공한 [if_not_found] 텍스트를 반환합니다.” ↩

  24. 법제처 국가법령정보센터, 「개인정보 보호법 제18조제1항(개인정보의 목적 외 이용ㆍ제공 제한)」, https://www.law.go.kr/법령/개인정보 보호법/제18조 (2026-09-18 확인). “개인정보처리자는 개인정보를 제15조제1항에 따른 범위를 초과하여 이용하거나 제17조제1항 및 제28조의8제1항에 따른 범위를 초과하여 제3자에게 제공하여서는 아니 된다.” ↩ ↩2

  25. 법제처 국가법령정보센터, 「개인정보 보호법 제18조제2항(예외)」, https://www.law.go.kr/법령/개인정보 보호법/제18조 (2026-09-18 확인). “제1항에도 불구하고 개인정보처리자는 다음 각 호의 어느 하나에 해당하는 경우에는 정보주체 또는 제3자의 이익을 부당하게 침해할 우려가 있을 때를 제외하고는 개인정보를 목적 외의 용도로 이용하거나 이를 제3자에게 제공할 수 있다. 다만, 제5호부터 제9호까지에 따른 경우는 공공기관의 경우로 한정한다. … 1. 정보주체로부터 별도의 동의를 받은 경우 … 2. 다른 법률에 특별한 규정이 있는 경우” ↩ ↩2