VLOOKUP TEXT 함수 조합으로 코드 형식 맞추기: 앞자리 0·날짜·텍스트 오류 완전 해결

VLOOKUP TEXT 함수 조합으로 코드 형식 맞추기: 앞자리 0·날짜·텍스트 오류 완전 해결

엑셀에서 VLOOKUP만 잘 써도 웬만한 조회는 다 됩니다. 하지만 실무에서는 한쪽은 001234, 다른 쪽은 1234로 되어 있거나, 긴 숫자 코드가 1.23E+11처럼 과학적 표기로 바뀌어 버리는 등 형식 때문에 조회가 안 되는 문제가 자주 발생합니다.

이 글에서는 VLOOKUP TEXT 함수 조합을 이용해서 앞자리 0(leading zero) 문제, 숫자와 텍스트 형식 차이, 서로 다른 날짜 형식, 과학적 표기 문제를 한 번에 해결하는 패턴을 정리해 보겠습니다.

왜 VLOOKUP TEXT 함수 조합이 필요한가?

먼저 두 함수의 역할을 간단히 정리해 보겠습니다.

  • VLOOKUP: 테이블의 첫 번째 열에서 기준 값을 찾고, 같은 행의 N번째 열 값을 가져오는 함수
  • TEXT: 숫자(또는 날짜·시간)를 지정한 서식 문자열(format code)에 맞는 텍스트로 변환하는 함수

실무에서 자주 터지는 오류는 이 둘의 “형식”이 맞지 않아서 생깁니다. VLOOKUP은 1234(숫자)를 찾고 있는데 실제 테이블에는 “001234”(텍스트)로 들어 있다면, 값은 같아 보여도 형식이 달라 일치하지 않는 것으로 판단되어 #N/A가 발생합니다.

이럴 때 TEXT 함수로 lookup_value 쪽을 "000000" 같은 형식의 텍스트로 바꿔서 코드표와 형식을 맞춘 다음 VLOOKUP을 수행하면 문제가 깔끔하게 해결됩니다.

Quick Fix: 지금 당장 써먹는 VLOOKUP TEXT 함수 조합 4가지

1) 앞자리 0 맞추기: 숫자 → 고정 자리 텍스트

문제 상황: A열은 숫자 코드(123, 45), 코드표는 6자리 텍스트(000123, 000045)로 관리되는 경우입니다.

=VLOOKUP(
    TEXT(A2, "000000"),
    $F$2:$G$100,
    2,
    FALSE
)

TEXT(A2, "000000")은 A2가 123일 때 “000123”으로 변환하므로 코드표의 형식과 정확히 일치하게 됩니다.

2) 날짜 형식 통일: 날짜 → yyyymmdd 텍스트

문제 상황: 조회 시트는 날짜가 날짜 형식(2024-01-15), 코드표는 yyyymmdd 텍스트(20240115)로 되어 있는 경우입니다.

=VLOOKUP(
    TEXT(A2, "yyyymmdd"),
    $F$2:$G$100,
    2,
    FALSE
)

3) 과학적 표기로 깨진 긴 숫자 코드 찾기

문제 상황: 13자리 이상의 긴 숫자 코드를 붙여 넣었더니 1.23E+11처럼 과학적 표기로 바뀌는 경우입니다.

=VLOOKUP(
    TEXT(A2, "0000000000000"),
    $F$2:$G$100,
    2,
    FALSE
)

4) 숫자/텍스트 섞인 코드 통일

한쪽은 숫자, 다른 쪽은 텍스트로 저장되어 있어 같은 값인데도 VLOOKUP이 안 될 때 사용할 수 있는 패턴입니다.

=VLOOKUP(
    TEXT(A2, "0"),
    $F$2:$G$100,
    2,
    FALSE
)

TEXT 함수 기본 개념 & 자주 쓰는 형식 코드

TEXT 함수의 기본 문법은 다음과 같습니다.

=TEXT(value, format_text)
  • value: 숫자, 날짜, 시간 등 형식을 바꾸고 싶은 값
  • format_text: 적용할 표시 형식 코드(문자열)
용도 예시 수식 결과 예시
앞자리 0 패딩(6자리) =TEXT(123, "000000") “000123”
날짜 yyyymmdd =TEXT(DATE(2024,1,15),"yyyymmdd") “20240115”
연-월-일 텍스트 =TEXT(A2, "yyyy-mm-dd") “2024-01-15”
시간 hhmm =TEXT(A2, "hhmm") “0930”

실무 예제 1: 상품코드·바코드의 앞자리 0 문제 해결

예제 시나리오

조회 시트 (판매 데이터):

A열(바코드) B열(판매수량)
12345 10
7 5
89 3

코드표 시트:

F열(바코드) G열(상품명)
000007 상품A
000089 상품B
012345 상품C

잘못된 VLOOKUP 예

=VLOOKUP(A2, $F$2:$G$4, 2, FALSE)

A2는 숫자 12345, F열 값은 “012345” 텍스트이므로 형식이 달라 #N/A가 발생합니다.

TEXT로 lookup_value 형식 맞추기

=VLOOKUP(
    TEXT(A2, "000000"),
    $F$2:$G$4,
    2,
    FALSE
)

코드표 쪽에 보조열 추가하기

코드표 시트에 H열(보조 코드)을 추가하여 다음과 같이 입력합니다.

=TEXT(VALUE(F2), "000000")

그리고 VLOOKUP에서는 보조열을 기준으로 조회합니다.

=VLOOKUP(
    TEXT(A2, "000000"),
    $H$2:$I$4,   /* H: 보조코드, I: 상품명 */
    2,
    FALSE
)

실무 예제 2: 서로 다른 날짜 형식 맞춰서 VLOOKUP 하기

예제 시나리오

매출 시트:

A열(매출일자) B열(고객코드) C열(매출액)
2024-01-15 C001 100,000
2024-01-28 C002 80,000

환율 테이블:

F열(기준일, yyyymmdd) G열(환율)
20240131 1320.5
20240229 1315.0

월말 날짜 구하기 + TEXT 변환

=EOMONTH(A2, 0)

위 수식은 매출일자가 속한 달의 월말 날짜를 반환합니다. 이를 yyyymmdd 텍스트로 변환하면 다음과 같습니다.

=TEXT(EOMONTH(A2, 0), "yyyymmdd")

최종 VLOOKUP TEXT 함수 조합

=VLOOKUP(
    TEXT(EOMONTH(A2, 0), "yyyymmdd"),
    $F$2:$G$10,
    2,
    FALSE
)

실무 예제 3: 복합 코드 + TEXT로 포맷 통일

코드 구조

  • 브랜드: 2자리 숫자
  • 카테고리: 2자리 숫자
  • 색상: 3자리 숫자
  • 사이즈: 2자리 숫자

조회 시트에서 B열=브랜드, C열=카테고리, D열=색상, E열=사이즈라면 다음과 같이 코드 문자열을 만들 수 있습니다.

=TEXT(B2, "00")
 & TEXT(C2, "00")
 & TEXT(D2, "000")
 & TEXT(E2, "00")

VLOOKUP TEXT 함수 조합

=VLOOKUP(
    TEXT(B2, "00")
    & TEXT(C2, "00")
    & TEXT(D2, "000")
    & TEXT(E2, "00"),
    $J$2:$K$100,
    2,
    FALSE
)

다른 텍스트 함수와 함께 쓰는 보너스 조합

LEFT/RIGHT/MID + TEXT

코드의 일부만 기준으로 조회할 때 사용할 수 있습니다.

=VLOOKUP(
    TEXT(RIGHT(A2, 2), "00"),
    $F$2:$G$100,
    2,
    FALSE
)

TRIM + TEXT

복사해온 데이터에 공백이 섞여 있을 때는 TRIM과 TEXT를 함께 사용합니다.

=VLOOKUP(
    TEXT(TRIM(A2), "000000"),
    $F$2:$G$100,
    2,
    FALSE
)

VALUE + TEXT

텍스트 숫자를 일단 숫자로 정규화한 후 자릿수를 맞추고 싶다면 다음과 같은 패턴이 유용합니다.

=TEXT(VALUE(A2), "000000")

Troubleshooting: TEXT + VLOOKUP 조합에서 자주 터지는 문제

증상 원인(추정) 해결법/체크 포인트
TEXT까지 썼는데도 VLOOKUP이 여전히 #N/A 자리수 또는 형식 코드가 코드표와 다름 코드표 한 셀의 길이와 형식을 직접 확인하고 format_text를 정확히 맞추기
코드를 TEXT로 바꾼 뒤 정렬 순서가 이상함 숫자가 아닌 텍스트로 정렬됨 정렬 기준 열이 숫자인지 텍스트인지 확인, 필요하면 VALUE로 별도 열 생성
긴 숫자 코드를 붙여 넣으면 1.23E+11로 바뀜 엑셀이 자동으로 과학적 표기 형식을 적용 붙여넣기 전에 열 서식을 텍스트로 지정하거나 TEXT/VALUE 조합으로 수정
날짜 TEXT 변환 뒤 VLOOKUP이 안 됨 기준 테이블의 날짜 코드 형식과 불일치 yyyymmdd, yyyy-mm-dd 등 정확한 형식을 일치시키기
숫자/텍스트 형식이 섞여 있고 어느 쪽이 문제인지 알기 어려움 같은 값인데 왼쪽 정렬/오른쪽 정렬이 섞여 있음 ISNUMBER, ISTEXT로 타입을 확인하고 TEXT 또는 VALUE로 통일

마무리: VLOOKUP TEXT 함수 조합 연습 루틴

VLOOKUP TEXT 함수 조합은 다음과 같은 상황에서 특히 유용합니다.

  • 앞자리 0이 포함된 코드(고객번호, 바코드, PLU 등)를 다룰 때
  • 날짜 형식이 서로 다른 시트/시스템을 연결할 때
  • 긴 숫자 코드가 과학적 표기로 깨질 때
  • 숫자와 텍스트 형식이 섞인 ID/코드를 통일하고 싶을 때

연습 순서는 다음과 같이 가져가면 좋습니다.

  • 현재 사용하는 VLOOKUP 중 앞자리 0 또는 날짜 문제로 자주 막히는 수식 하나를 고른다.
  • lookup_value 부분을 TEXT 함수로 감싸 형식을 먼저 통일해 본다.
  • 월말 환율/요율 등 날짜 기준 테이블이 있다면 EOMONTH + TEXT + VLOOKUP 패턴을 직접 적용해 본다.
  • 복합 코드(브랜드+카테고리+색상+사이즈)는 여러 TEXT를 이어 붙이는 패턴으로 직접 코드를 만들어 본다.

형식 문제를 TEXT로 해결하는 패턴에 익숙해지면, 나머지 조회 구조(열 번호, 다중 조건 등)는 아래 글들과 함께 보면서 단계적으로 확장해 나가면 됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *