💾 Data/etc

[Excel] VLOOKUP

heywantodo 2024. 8. 5. 16:14
728x90
반응형

[Excel] VLOOKUP

VLOOKUP함수는 엑셀에서 특정 값을 검색하고, 같은 행에 있는 다른 값을 반환하는 데 사용된다.

데이터베이스와 같은 큰 데이터 세트에서 특정 항목을 빠르게 찾고 관련된 정보를 얻는 데 매우 유용하다.

 

VLOOKUP 함수의 기본 구조

VLOOKUP 함수의 기본 구문은 다음과 같다.

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
lookup_value 검색할 값
table_array 검색 할 데이터 범위
col_index_num 검색된 값이 있는 행에서 반환할 열 번호
range_lookup 일치 유형을 지정 (TRUE-근사값 일치, FALSE-정확한 일치)

 

예를 들어 다음과 같은 제품 목록이 있다고 가정해보자.

  A B C
1 제품 ID 제품 이름 가격
2 101 노트북 900
3 102 스마트폰 600
4 103 태블릿 300
5 104 모니터 200

제품 목록이 'A1:C5' 범위에 있다고 가정 후 E1 셸에 ID가 102라고 입력되어 있을 때,

E2 셸에 제품의 가격을 찾기 위해 다음과 같은 VLOOKUP 공식을 입력한다.

=VLOOKUP(E1, A1:C5, 3, FALSE)

위의 공식을 입력하면 E2에는 스마트폰의 가격인 600이 표시된다.

  D E
1 제품 ID 102
2 가격 600

 

VLOOKUP 다중 조건

VLOOKUP을 이용하면서 여러 조건을 만족하는 값을 찾아야 할 경우가 있다. 

예를 들어, 고객 ID와 제품 ID를 동시에 기준으로 데이터를 검색해야 할 경우가 있을 것이다. 

 

이런 경우에는 INDEXMATCH 함수를 함께 이용하면 여러 조건을 기반으로 데이터를 검색하는데 유용하다.

=INDEX(table_array, MATCH(1, (조건범위1=조건1) * (조건범위2=조건2) * ..., 0))

 

예를 들어 다음과 같은 테이블이 A1:C5 범위에 있다고 가정해보자.

여기서 고객 ID가 1001이고 제품 ID가 B인 판매량을 찾아야한다.

  A B C
1 고객 ID 제품 ID 판매량
2 1001 A 50
3 1002 B 30
4 1001 B 20
5 1003 A 60

 

INDEX, MATCH

1. MATCH 함수로 조건 검색하기 

먼저 MATCH 함수로 조건을 검색한다. MATCH 함수는 조건을 만족하는 행의 위치를 반환한다.

=MATCH(1, (A2:A5=1001) * (B2:B5="B"), 0)
A2:A5=1001 고객 ID가 1001인 행을 찾는다.
B2:B5=B 제품 ID가 B인 행을 찾는다.
(A2:A5=1001) * (B2:B5="B") 두 조건이 모두 참인 경우에만 1을 반환한다.
MATCH(1, ... , 0) 위의 조건을 만족하는 행의 위치를 찾는다.

❗ MATCH 함수에서 배열 수식을 사용하려면 'Ctrl + Shift + Enter'를 눌러야 한다.

 

2. INDEX 함수로 값 찾기

MATCH 함수로 찾은 행의 위치를 INDEX 함수에 전달하여 실제 값을 가져온다.

=INDEX(C2:C5, MATCH(1, (A2:A5=1001) * (B2:B5="B"), 0))

결과적으로 이 수식은 고객 ID가 1001이고 제품 ID가 B인 행의 판매량을 반환한다.

배열 수식을 사용해야 하므로, 수식 입력 후 'Ctrl + Shift + Enter' 를 눌러야 한다.

  E F
1 판매량 20

 

VLOOKUP 사용 시 주의 사항

1. 첫 번째 열

: VLOOKUP 함수는 항상 'table_array'의 첫 번째 열에서 'lookup_value'를 검색한다.

 

2. 정확한 일치와 근사값 일치

: 'range_lookup'을 'FALSE'로 설정하면 정확한 일치를 찾고, 'TRUE'로 설정하면 근사값을 찾는다.

 

3. 정렬

: 'range_lookup'을 'TRUE'로 사용하면, 첫 번째 열이 오름차순으로 정렬되어 있어야 올바른 값을 찾을 수 있다.

 

728x90
반응형