본문 바로가기
엑셀

엑셀 공부 : VLOOKUP 성능 최적화

by 용GPT 2024. 12. 21.

6. VLOOKUP 성능 최적화
6. VLOOKUP 성능 최적화

6. VLOOKUP 성능 최적화

대규모 데이터를 처리할 때 VLOOKUP은 속도가 느려질 수 있습니다. 이 섹션에서는 성능을 최적화하는 방법과 대안으로 많이 사용하는 INDEX/MATCH에 대해 알아보겠습니다.


1. 성능 개선 전략

VLOOKUP의 성능을 높이려면 데이터를 효율적으로 관리하고, 불필요한 계산을 줄이는 것이 중요합니다.

1) 정렬된 데이터 사용

  • TRUE 매개변수를 사용하면 VLOOKUP이 데이터에서 첫 번째 값을 빠르게 찾습니다.

  • 데이터는 반드시 오름차순으로 정렬해야 합니다.

예시:

excel코드 복사=VLOOKUP(85, A1:B10000, 2, TRUE)

2) 계산 범위 최소화

  • VLOOKUP의 데이터 범위를 정확히 지정합니다.

  • 예: A1:B1000처럼 필요한 범위만 설정.

2. 대규모 데이터 처리

대규모 데이터에서는 VLOOKUP이 느려질 수 있습니다. 이를 방지하기 위한 방법들을 알아봅시다.

 

1) 계산 값 고정하기

  • 계산된 VLOOKUP 결과를 값으로 복사하면 불필요한 재계산을 방지할 수 있습니다.
  • 데이터가 변경되지 않는 경우, 성능을 크게 개선합니다.

2) 표(Table) 기능 사용

  • 데이터를 표로 설정하면 동적 범위로 관리가 쉬워지고 성능이 최적화됩니다.
  • Excel 표는 내부적으로 효율적인 데이터 처리를 지원합니다.

3) 데이터 정규화

  • 중복 데이터를 제거하고 필요한 데이터만 유지합니다.
  • 데이터 크기를 줄이면 처리 속도가 빨라집니다.

 


3. INDEX/MATCH 대안 학습

INDEX/MATCH는 VLOOKUP보다 유연하고 빠르게 작동하는 대안입니다.

INDEX와 MATCH의 기본 구조

  • INDEX: 범위에서 특정 위치의 값을 반환합니다.

  • MATCH: 검색 값의 위치를 반환합니다.

구문:

excel코드 복사=INDEX(검색할_범위, MATCH(찾을_값, 기준_범위, 0))

예시:

 

  A B
1 이름 점수
2 김철수 85
3 이영희 90

 

"이영희"의 점수를 검색합니다.

 

VLOOKUP 사용:

excel코드 복사=VLOOKUP("이영희", A1:B3, 2, FALSE)

 

INDEX/MATCH 사용:

excel코드 복사=INDEX(B1:B3, MATCH("이영희", A1:A3, 0))

장점:

  1. 열 위치 제한 없음: INDEX/MATCH는 열의 순서와 관계없이 검색 가능합니다.
  2. 속도 우위: 대규모 데이터에서 VLOOKUP보다 더 빠르게 작동합니다.

쉽게 생각하는 법 

 

인덱스라는 어떠한 테이블 범위를 정해주고, MATCH 함수로 조건의 열의 범위를 선택하고, 정확하게 일치하는 것을 찾는다.

 

근데 오피스 365 버젼부터 (정확하게는 엑셀 2021 버젼인가.. 그 이전 버젼에서도 사용 가능한데 추가기능처럼 추가해야함).

 

XLOOKUP 이라는 함수가 있어 사실상 INDEX / MATCH 함수는 안써도 됩니다. VLOOKUP 의 단점과 복잡한 INDEX / MATCH 를 대신하는 함수니까요.

 

XLOOKUP 사용법 :

 

=XLOOKUP(조건 , 조건의 범위, 찾을 범위, (오류 시 대체 문자 or 숫자) )

 

위 문제를 XLOOKUP 으로 사용한다면

 

=XLOOKUP("이영희", A:A , B:B, 0) 

 

이 부분은 따로 포스팅을 하겠습니다.