기술 가이드

Excel XLOOKUP으로 다중 조건 조회하는 방법

7 min read 엑셀 업데이트됨 23 Sep 2025
Excel XLOOKUP으로 다중 조건 조회하는 방법
Excel XLOOKUP으로 다중 조건 조회하는 방법

빠른 링크

  • XLOOKUP 구문과 단일 조건 예제

  • 예제 1: Boolean(불리언) 논리로 다중 조건 XLOOKUP

  • 예제 2: 연결(concatenation)으로 다중 조건 XLOOKUP

Excel 시트에서 XLOOKUP 함수를 보여주는 그림. 녹색 스프레드시트 위로 오른쪽과 아래쪽을 가리키는 큰 화살표와 여러 기준 셀이 강조되어 있음.

소개

XLOOKUP 함수에 대해 흔히 하는 오해 중 하나는 “조회 조건은 반드시 하나뿐이어야 한다”는 것입니다. 실제로는 여러 조건으로 값을 조회할 수 있으며, 그 방법은 크게 두 가지입니다. 하나는 Boolean 논리를 사용해 임시 조회 배열을 만드는 방법이고, 다른 하나는 각 조건을 결합(문자열 연결)하는 방법입니다. 데스크톱용 Excel(Windows/Mac)에서는 Excel 2021 이상 또는 Microsoft 365가 필요하며, 웹·태블릿·모바일에서도 사용할 수 있습니다.

Microsoft 365 Personal

Microsoft 365는 Word, Excel, PowerPoint 같은 Office 앱을 최대 5대의 기기에서 사용할 수 있고, OneDrive 1TB 등 여러 혜택을 포함합니다.

$100 at Microsoft

$100 at Amazon

XLOOKUP 구문과 단일 조건 예제

XLOOKUP 함수의 구문은 처음 보기에는 복잡해 보이지만 논리적입니다:

=XLOOKUP(a, b, c, d, e, f)
  • a (필수): 조회값(lookup value)
  • b (필수): 조회 배열(lookup array)
  • c (필수): 반환 배열(return array)
  • d (선택): 조회값이 없을 경우 반환할 텍스트
  • e (선택): 일치 모드(0 = 정확 일치(기본), -1 = 같거나 작은 값, 1 = 같거나 큰 값, 2 = 와일드카드)
  • f (선택): 검색 모드(1 = 위→아래(기본), -1 = 아래→위, 2 = 이진 검색(오름차순), -2 = 이진 검색(내림차순))

예를 들어 데이터 유효성 검사 드롭다운에서 ID를 선택한 뒤 E2 셀에 아래 수식을 입력하면 점수 51을 반환합니다:

=XLOOKUP(E1,T_Scores[ID],T_Scores[Score],"No match",0,1)

선택된 ID를 기반으로 점수를 반환하는 XLOOKUP 사용 예시 스크린샷.

설명:

  • E1: 조회할 값(예: 1323)이 있는 셀
  • T_Scores[ID]: ID 열에서 조회
  • T_Scores[Score]: 결과로 반환할 점수 열
  • “No match”: 조회값이 없을 때 반환할 텍스트
  • 0: 정확 일치
  • 1: 위에서 아래로 검색

마지막 두 인수는 기본값이기 때문에 생략할 수 있습니다.

예제 1: Boolean 논리로 다중 조건 XLOOKUP

여러 조건이 있을 때 XLOOKUP을 사용하는 방식이 달라집니다.

상황: 여섯 종류의 음료를 여섯 개 국가에 판매하는 브랜드가 있고, 각 음료·국가 조합마다 담당 매니저가 배정되어 있다고 가정합니다.

A열에 음료, B열에 국가, C열에 매니저, D열에 매출이 있는 Excel 표 스크린샷.

목표: 음료와 국가를 입력하면 해당 조합의 매니저 이름과 매출을 반환하는 조회를 만들기.

음료와 국가를 선택하면 매니저 이름과 총매출을 가져오도록 준비된 조회 테이블 스크린샷.

문제: XLOOKUP은 보통 단일 조회값을 사용하도록 설계되어 있으므로, 여기서는 임시 배열을 만들어 여러 조건을 처리해야 합니다. Boolean 논리를 활용하면 각 조건의 일치 여부(TRUE/FALSE)를 1과 0으로 바꿔 곱셈을 통해 모든 조건이 충족되는 행만 1이 되도록 만들 수 있습니다.

아래 수식이 그 예시입니다(가독성을 위해 줄 바꿈):

=XLOOKUP(
  1,
  (T_Managers[Drink]=G1)*(T_Managers[Country]=G2),
  T_Managers[[Manager]:[Sales]],
  "No result"
)

두 개의 조건을 조회 배열로 사용하는 XLOOKUP 수식 스크린샷.

과정 설명(중요한 단계):

  1. 조회 배열(b) 부분:
(T_Managers[Drink]=G1)*(T_Managers[Country]=G2)
  • 먼저 T_Managers[Drink]=G1 은 Drink 열의 각 행이 G1(예: Coffee)과 같은지 비교해 TRUE/FALSE의 배열을 생성합니다.
  • 다음으로 T_Managers[Country]=G2 는 Country 열에서 G2(예: Spain)과 비교한 또 다른 TRUE/FALSE 배열을 생성합니다.
  • 두 배열을 곱하면 TRUE는 1로, FALSE는 0으로 간주되어 두 조건을 모두 만족하는 행만 1이 됩니다.

예시 중간 결과(개념적으로):

{FALSE;FALSE;...;TRUE;TRUE;...}
{FALSE;...;TRUE;...;TRUE;...}

곱셈 후:

{0;0;...;1;0;...}
  1. 조회값(a)은 1입니다. 즉, 생성된 0/1 배열에서 처음 등장하는 1의 위치를 찾아 해당 행의 반환 배열(c)에서 값을 반환합니다.

  2. 반환 배열(c):

T_Managers[[Manager]:[Sales]]

이 예에서는 해당 행의 Manager 열에서 Olivia를, Sales 열에서 346을 반환합니다.

추가 팁:

  • 숫자 비교 같은 경우에는 등호(=) 외에도 >, < 등 비교 연산자를 사용할 수 있습니다.
  • 여러 조건 중 “적어도 하나“에 일치하는 첫 결과를 원한다면 곱셈(*) 대신 덧셈(+)을 사용해 각 조건을 더한 다음 0보다 큰 값을 찾는 방식으로 응용할 수 있습니다.

Coffee와 Spain이 동시에 TRUE인 경우 1로 표시되는 임시 배열을 시각화한 이미지.

국가 열에서 Spain이 TRUE로 표시된 임시 배열 시각화 이미지.

두 배열을 곱해 1과 0으로 변환되는 과정을 보여주는 임시 배열 시각화 이미지.

곱셈 결과로 1이 된 첫 번째 행을 강조한 임시 배열 시각화 이미지.

Coffee와 Spain이 동시에 일치해 1을 반환하는 첫 번째 인스턴스를 보여주는 이미지.

예제 2: 결합(Concatenation)으로 다중 조건 XLOOKUP

다른 접근법은 각 조회값과 각 조회 배열을 문자열로 결합(앰퍼샌드 &)하는 것입니다. 이 방법은 이해하기 쉽고 구현도 간단하지만, 배열 요소를 문자열로 변환하는 방식 때문에 숫자 형식·공백·중복 조합 등에 유의해야 합니다.

같은 시나리오에서 음료와 국가를 입력해 매니저 이름과 매출을 반환하려면 아래 수식을 사용합니다:

=XLOOKUP(
  G1&G2,
  T_Managers[Drink]&T_Managers[Country],
  T_Managers[[Manager]:[Sales]],
  "No result"
)

두 개의 조회값과 두 개의 조회 배열을 앰퍼샌드로 연결한 XLOOKUP 수식 스크린샷.

과정:

  • a: G1&G2 → 예: CoffeeSpain (공백 없이 결합)
  • b: T_Managers[Drink]&T_Managers[Country] → 각 행에서 Drink와 Country 문자열을 결합한 배열(예: Apple juiceAustralia)
  • c: 반환 배열은 매니저와 매출 열
  • d: 일치하지 않으면 “No result” 반환

이 경우 각 조합(예: CoffeeSpain)은 테이블에서 유일하게 존재하므로 정확 일치만으로도 원하는 결과를 얻습니다.

인접한 두 열의 값을 결합하여 각 행의 문자열을 만든 시각화 이미지.

주의사항:

  • 결합 방식은 공백, 대소문자, 숫자 형식이 섞인 경우 의도치 않은 미스매치를 만들 수 있습니다. 필요하면 TRIM(), UPPER()/LOWER(), TEXT() 같은 함수를 사용해 표준화하세요.
  • 동일한 조합이 테이블에 중복으로 존재하면 XLOOKUP은 첫 번째 일치 항목만 반환합니다.

요약: 결합 방식은 간단하지만 형식 일관성이 전제되어야 하고, Boolean 방식은 더 유연해 복잡한 논리(예: OR 조건, 범위 비교)를 다루기 좋습니다.

언제 어떤 방법을 선택해야 할까

  • 단순한 일치(각 조합이 유일) → 결합(앰퍼샌드) 방식이 빠르고 직관적.
  • 복잡한 비교(범위, >=, <=, OR, NOT 등) → Boolean 논리 방식이 더 유연.
  • 성능: 매우 큰 테이블에서는 배열 연산이 느릴 수 있으니 테스트가 필요.

현실에서 실패하는 경우와 해결책

  • 배열 크기 불일치: 조회 배열(b)와 반환 배열(c)의 행 수가 맞지 않으면 오류가 발생합니다. 항상 동일한 범위를 사용하세요.
  • 빈값/공백 문제: 결합 방식은 공백/빈 셀이 있는 경우 잘못된 문자열을 만들 수 있습니다. TRIM(), IFERROR(), IFNA()로 보호하세요.
  • 중복 항목: 결합 방식은 첫 번째 일치만 반환합니다. 모든 일치 항목을 원하면 FILTER 함수나 고급 필터링이 필요합니다.
  • Excel 버전 문제: XLOOKUP은 구버전 Excel(예: 2019 이하)에는 없습니다. 대체로 INDEX/MATCH나 SUMPRODUCT를 고려하세요.
  • 성능 저하: 매우 큰 데이터셋(수십만 행)에서는 배열 곱셈(*)이 느려질 수 있습니다. 필요한 경우 계산 옵션을 수동으로 변경하거나, 테이블을 요약해 사용하는 것이 좋습니다.

대체 접근법

  • FILTER: 여러 조건에 일치하는 모든 행을 반환할 때 유용합니다.
  • INDEX + MATCH(다중 기준): 전통적인 방법으로 호환성이 좋습니다. 다중 기준은 INDEX와 MATCH의 배열식을 통해 구현 가능합니다.
  • SUMIFS / AVERAGEIFS: 집계(합계/평균)를 바로 구해야 할 때 편리합니다.
  • VLOOKUP + helper column(보조열): 결합된 키를 보조 열로 만들어 VLOOKUP으로 조회하는 방법도 있습니다.

간단 비교:

  • XLOOKUP(다중 조건, Boolean): 유연, 반환 열 여러 개 가능, 배열 연산 필요
  • XLOOKUP(결합): 구현 단순, 문자열 형식에 민감
  • FILTER: 모든 일치 항목 반환, 결과가 Spill(흘러나옴)
  • INDEX/MATCH: 구버전 호환성 우수, 구현이 비교적 복잡

실무별 체크리스트

데이터 분석가:

  • 조회 전 테이블이 정규화되어 있는지 확인
  • 공백/형식 오류를 TRIM/텍스트 함수로 정리
  • 성능 문제 탐지 시 샘플로 프로파일링

재무 담당자:

  • 숫자 형식(소수점, 통화) 동기화
  • 같은 조합의 중복 여부 확인(중복 시 집계 필요)
  • 오류 반환값을 “No result” 대신 회계 기준 문구로 표준화

제품 매니저/운영:

  • 드롭다운 값이 사용자 친화적인지 확인
  • 변경 시 영향 범위를 문서화(테스트 케이스 포함)

개발/시스템 통합:

  • 자동화 시 외부 데이터 소스의 인코딩·지역화(날짜/숫자) 확인
  • 대량 데이터 처리 시 캐싱 또는 요약 테이블 도입 검토

치트 시트: 자주 쓰는 패턴

  • Boolean(AND) 다중 조건:
=XLOOKUP(1, (범위1=값1)*(범위2=값2), 반환범위, "No result")
  • Boolean(OR) 다중 조건(첫 일치):
=XLOOKUP(1, (범위1=값1)+(범위2=값2), 반환범위, "No result")
  • 결합(Concatenate) 다중 조건:
=XLOOKUP(값1&값2, 범위1&범위2, 반환범위, "No result")
  • 모든 일치 항목 가져오기(FILTER 사용):
=FILTER(전체범위, (범위1=값1)*(범위2=값2), "No result")
  • INDEX/MATCH 다중 조건(예시):
=INDEX(반환범위, MATCH(1, (범위1=값1)*(범위2=값2), 0))

(위 INDEX/MATCH 배열식은 Ctrl+Shift+Enter가 필요한 구버전이 있으니 환경에 따라 확인)

마인드셋/휴리스틱

  • “조회는 항상 정상화된 키를 바라본다”: 중복·공백·형식 불일치는 미스매치의 주요 원인입니다.
  • “첫 번째 일치는 의도된가?”: XLOOKUP과 FILTER의 차이는 단일 결과와 모든 결과를 반환하는지에 달려 있습니다.
  • “성능을 미리 생각하라”: 작은 테스트셋에서 잘 작동해도 대용량에서 느릴 수 있습니다.

1줄 용어집

  • XLOOKUP: Excel의 현대적 조회 함수, 단일/다중 열 반환 가능
  • FILTER: 조건에 맞는 모든 행을 반환하는 함수
  • INDEX/MATCH: 전통적 조회 조합, 호환성이 좋음
  • Spill: 동적 배열 결과가 셀 아래로 흐르는 현상

예제 검증용 테스트 케이스(간단)

  • 유효 케이스: 존재하는 Drink+Country 조합을 입력했을 때 올바른 Manager·Sales 반환
  • 부재 케이스: 존재하지 않는 조합 시 “No result” 반환
  • 중복 케이스: 동일 조합이 2개 이상일 때 첫 항목 반환(의도한 동작인지 확인)
  • 형식 케이스: 공백/대소문자 다른 경우 일관된 결과(정규화 필요)

마무리 요약

XLOOKUP은 다중 조건 조회에 매우 강력한 도구이며, Boolean 논리와 문자열 결합 두 가지 방법으로 구현할 수 있습니다. Boolean 방식은 논리 표현이 유연하고 복잡한 비교에 적합하며, 결합 방식은 구현이 단순하지만 형식 일관성이 요구됩니다. 대규모 데이터나 복잡한 요구사항이 있는 경우 FILTER, INDEX/MATCH 같은 대체 방법도 고려하세요.

중요: XLOOKUP은 Excel 2021·Microsoft 365 이상에서 지원됩니다. 구버전 사용자는 INDEX/MATCH 또는 보조열(Helper Column)을 사용해 유사한 동작을 구현해야 합니다.

요약 및 다음 단계:

  • 사용 환경(Excel 버전) 확인
  • 조회 키의 형식 일관성 확보
  • 테스트 데이터로 성능·정확성 점검
공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

YouTube 검색 기록 확인·삭제 방법
프라이버시

YouTube 검색 기록 확인·삭제 방법

Marvel Rivals 업데이트 문제 해결 가이드
게임 문제 해결

Marvel Rivals 업데이트 문제 해결 가이드

해킹된 Gmail 계정 복구 및 보호 가이드
보안

해킹된 Gmail 계정 복구 및 보호 가이드

MHS로 Windows 게임 속도 조절하기
게임 튜토리얼

MHS로 Windows 게임 속도 조절하기

Excel XLOOKUP으로 다중 조건 조회하는 방법
엑셀

Excel XLOOKUP으로 다중 조건 조회하는 방법

rtGui를 rTorrent에 구성하는 방법
튜토리얼

rtGui를 rTorrent에 구성하는 방법