LOOKUP 성능 개선 방법

데이터에서 정보를 검색할 때는 다음과 같은 LOOKUP 함수를 사용하세요.

이러한 함수를 실행할 때는 시간이 걸리는 경우가 많습니다. 이 도움말에서는 LOOKUP 성능을 최적화하고 사용되는 컴퓨팅 성능을 절약하는 방법을 설명합니다.

LOOKUP 함수에 정렬 범위 사용하기

더 효율적으로 정렬하려면 SORT 함수 대신 범위 정렬을 사용하세요.

  1. 셀 또는 열을 선택합니다.
  2. 상단의 작업 표시줄에서 데이터 다음 범위 정렬을 클릭합니다.
  3. 다음 중 하나를 선택합니다.
    • [가장 왼쪽 열]열을 기준으로 범위 정렬(오름차순)
    • [가장 왼쪽 열]열을 기준으로 범위 정렬(내림차순)
    • 고급 범위 정렬 옵션: 한 번에 여러 열을 계층 순서로 정렬합니다.

도움말: '정렬 범위'는 먼저 데이터를 정렬한 다음 정렬된 데이터를 VLOOKUP 함수에 제공합니다.

금지사항:

중요: 다음 예에서는 올바르지 않은 SORT 함수 사용 방법을 확인할 수 있습니다.

=VLOOKUP(검색할_키, SORT(A1:B10, 1), 2)

이 예에서는 SORTVLOOKUP 함수와 중첩됩니다. 정렬된 범위의 데이터가 변경될 때마다 SORT 함수는 불필요하게 모든 데이터를 다시 검사하고 새 SORT 함수를 실행합니다.

도움말: 이상적으로는 SORT를 데이터 세트에 한 번만 적용하는 것이 좋습니다. 필요한 경우 참조할 수 있습니다.

LOOKUP 함수를 사용하기 전에 중복 항목 삭제하기

계산 속도를 높이려면 다음과 같이 세트 전체에서 중복 데이터를 삭제하세요.

  1. 필요한 모든 열과 행을 선택합니다.
  2. 상단의 작업 표시줄에서 데이터 다음 데이터 정리 다음 중복 항목 삭제를 클릭합니다.
  3. 분석할 열을 선택합니다.
  4. 중복 항목 삭제를 클릭합니다.

도움말: 여러 열 또는 행에 중복된 값이 있는 데이터의 경우 계산 속도가 느려질 수 있습니다.

LOOKUP 함수:

  • 지능적으로 중복 항목을 감지할 수 없음
  • 일치하지 않는 모든 중복 값이 포함된 전체 데이터 세트 검색
소스 데이터와 동일한 스프레드시트에서 LOOKUP 실행하기

컴퓨터에서 로컬로 LOOKUP 계산을 실행하려면 먼저 데이터를 스프레드시트로 가져와야 합니다.

  1. IMPORTRANGE를 사용하여 LOOKUP이 있는 스프레드시트의 빈 범위로 데이터를 가져옵니다. IMPORTRANGE 자세히 알아보기
  2. 가져온 데이터를 LOOKUP 함수의 범위로 참조합니다.

금지사항:

중요: 다음 예에서는 올바르지 않은 IMPORTRANGE 사용 방법을 확인할 수 있습니다.

=VLOOKUP(검색할_키, IMPORTRANGE(스프레드시트_URL, 범위_문자열), 색인, [정렬됨])

이 예에서는 IMPORTRANGELOOKUP 함수에 중첩됩니다. LOOKUP이 실행될 때마다 먼저 IMPORTRANGE를 실행하여 데이터를 가져온 다음 가져온 데이터에서 LOOKUP 함수가 실행됩니다.

도움말: LOOKUP 함수에 다른 함수를 중첩하지 마세요. 그렇지 않으면 내부에 중첩된 함수가 LOOKUP 함수가 실행될 때마다 LOOKUP 안에서 추가 계산을 수행합니다.

IFERROR() 또는 IF() 구문을 사용하여 특정 검색 키 건너뛰기

Sheets 계산을 더 빠르게 실행하려면 IF 구문을 사용하여 N/A, #ERROR, REF#와 같이 반복되는 값이나 빈 셀을 건너뛰세요.

금지사항:

중요: 다음 예에서는 올바르지 않은 VLOOKUP 사용 방법을 확인할 수 있습니다.

위의 예에서 VLOOKUP을 사용하면 A열의 과일 목록 가격을 찾을 수 있습니다. 하지만 과일 목록에 빈 셀도 많습니다.

Google Sheets는 B3, B7, B9의 VLOOKUP이 빈 셀을 검색하더라도 A열에 있는 모든 참조 검색 키에 대해 B2에서 B10까지 계산을 실행합니다. 이러한 검색은 의미 있는 결과를 반환하지 않습니다.

해결 방법:

IF 함수를 사용하여 원하는 기준에 따라 검색 키를 건너뛰고 과일 목록 데이터가 비어 있지 않을 때만 VLOOKUP을 실행합니다.

IF 함수는 Google Sheets에 검색 키가 비어 있지 않으면 수식을 실행하고 비어 있으면 수식을 실행하지 말고 N/A를 출력하라고 명령합니다.

일반적으로 모든 수식을 사용할 수 있으며 건너뛸 값을 비워 두지 않아도 됩니다. 이 방법을 사용하면 무의미한 값에서 결과를 위해 추가로 계산하지 않아도 되므로 시간이 절약됩니다.

IF 함수를 사용하여 값을 명확하게 제외하지 않으면 Google Sheets는 유의미한 값인지 아닌지를 판단할 수 없습니다.

=IF(A2 <> 건너뛸_값, 수식, "N/A")

도움말: 위의 IF 함수는 Google Sheets에 A2가 건너뛸_값과 같지 않으면 수식을 실행하고 A2가 건너뛸_값인 경우 수식을 실행하지 말고 N/A를 출력하라고 명령합니다.

IF 함수 자세히 알아보기

VLOOKUP 대신 INDEX 및 MATCH 사용하기

VLOOKUP이 약간 빠르긴 하지만 INDEXMATCH 함수를 사용하면 LOOKUP 워크플로를 더 작게 나눌 수 있는 유연성을 확보할 수 있습니다. 이렇게 하면 이전 검색결과를 다시 사용하여 시간을 절약할 수 있습니다.

금지사항:

예를 들어 VLOOKUP에서 이 표의 'Apple'의 가격과 수량을 모두 찾으려면 두 개의 개별 VLOOKUP 수식을 사용해야 합니다.

=VLOOKUP("Apple", $A$1:$C$4, 2, FALSE)

VLOOKUP은 내부적으로 두 단계를 실행합니다.

  1. 'Apple'의 위치를 찾습니다.
  2. 두 번째 열로 이동하여 'Apple' 가격을 검색합니다.

=VLOOKUP("Apple", $A$1:$C$4, 3, FALSE)

VLOOKUP은 내부적으로 두 단계를 실행합니다.

  1. 'Apple'의 위치를 찾습니다.
  2. 세 번째 열로 이동하여 'Apple'의 수량을 검색합니다.

위의 두 수식에서 첫 번째 단계는 동일합니다. 목록에서 'Apple'의 위치를 찾습니다. 그러나 VLOOKUP은 단일 출력이 있는 단일 함수이므로 위의 두 수식의 2단계는 함께 실행할 수 없습니다.

따라서 VLOOKUP을 실행하여 같은 항목에서 서로 다른 여러 정보를 찾는 경우 첫 번째 단계를 두 번 실행해야 하기 때문에 계산 시간이 추가됩니다.

해결 방법:

MATCHINDEX를 함께 사용하여 시간을 절약하세요. 이렇게 하면 1단계와 2단계가 분리되므로 언제든지 1단계를 재사용할 수 있습니다.

1. MATCH를 사용하여 'Apple'의 위치를 찾습니다.

=MATCH("Apple", $A$2:$A$4, FALSE)

'Apple'이 범위의 1번 위치에 있으므로 이 수식의 출력은 '1'입니다.

2. INDEX로 두 번째 열에서 '사과' 가격을 검색합니다.

=INDEX($A$2:$C$4, MATCH_수식이_있는_셀, 2)

이 수식의 출력은 '$1'입니다.

'Apple'의 수량을 검색하려면 1단계를 다시 사용한 다음 MATCH 수식이 있는 셀을 참조하면 됩니다. 그러면 해당 부분을 다시 계산할 필요가 없습니다.

3. INDEX를 사용하여 세 번째 열에서 'Apple'의 수량을 검색합니다.

=INDEX($A$2:$C$4, MATCH_수식이_있는_셀, 3)

INDEXMATCH를 사용하는 이 예시에서는 총 3단계 중에서 1단계와 2단계를 2번 실행합니다. 대신 VLOOKUP을 사용하면 VLOOKUP 함수 2개에서 총 4단계가 실행되므로 시간이 더 걸리고 컴퓨팅 리소스를 더 많이 사용합니다.

VLOOKUP 함수를 많이 사용할수록 효율이 개선됩니다. 그 외에도 MATCH 결과를 재사용하여 시간을 절약할 수 있는 상황이 많이 있습니다.

관련 리소스

true
학습 센터 방문

직장이나 학교에서 Google 문서와 같은 Google 제품을 사용하시나요? 강력한 도움말, 가이드 및 템플릿을 사용해 보세요. Office를 설치하지 않고도 Office 파일을 사용하고, 동적 프로젝트 계획 및 팀 캘린더를 만들고, 받은 편지함을 자동 정리하는 등 다양한 기능에 관해 알아보세요.

검색
검색어 지우기
검색 닫기
기본 메뉴
3261752220231227260
true
도움말 센터 검색
true
true
true
true
true
35
false
false