XLOOKUP¶
종류: MS Excel 호환 함수 · 네이티브 도입: Excel 2021
범위/배열에서 값을 찾아 두 번째 범위/배열의 해당 항목을 반환합니다.
구문¶
=XLOOKUP(찾을값, 찾을범위, 반환범위, [찾지못하면], [일치모드], [검색모드])
인수¶
| 인수 | 필수 | 설명 |
|---|---|---|
| 찾을값 | 필수 | 검색할 값 |
| 찾을범위 | 필수 | 검색 대상 범위/배열 |
| 반환범위 | 필수 | 반환할 범위/배열 |
| 찾지못하면 | 선택 | 일치 없을 때 반환값 (선택) |
| 일치모드 | 선택 | 0 정확(기본), -1 작은값, 1 큰값, 3 정규식 |
| 검색모드 | 선택 | 1 처음부터(기본), -1 끝에서부터 |
반환¶
일치한 위치의 반환범위 행(세로 검색) 또는 열(가로 검색)을 배열로 반환하며, 동적 배열 지원 Excel에서는 스필됩니다. 범위를 생략했거나 배열이 비었거나 일치 항목이 없는데 대체값도 없으면 #N/A, 일치 위치가 반환범위를 벗어나면 #REF!, 내부 오류면 #VALUE!를 반환합니다.
예제¶
| 수식 | 결과 | 설명 |
|---|---|---|
=XLOOKUP("b",{"a";"b";"c"},{10;20;30}) |
20 | 정확 일치 검색 |
=XLOOKUP(2,{1;2;3},{10,11;20,21;30,31}) |
{20,21} | 일치 행 전체 스필 |
=XLOOKUP(9,{1;2;3},{10;20;30},"none") |
none | 불일치 시 대체값 |
=XLOOKUP({2;3},{1;2;3},{"a";"b";"c"}) |
{b;c} | 찾을값 배열 → 원소별 조회 |
=XLOOKUP("^B",{"apple";"Banana";"cherry"},{1;2;3},"none",3) |
2 | 정규식 일치(match_mode 3) |
=XLOOKUP("(?i)^b",{"apple";"Banana";"cherry"},{1;2;3},"none",3) |
2 | (?i) 접두로 대소문자 무시 |
참고¶
- match_mode 2(와일드카드)와 search_mode 2/-2(이진 검색)는 지원하지 않습니다.
- match_mode 3(정규식)은 찾을값을 정규식 패턴으로 해석해, 패턴이 텍스트 셀의 일부와 일치하면(부분 일치, REGEXTEST 방식) 그 항목을 찾습니다 — Microsoft 365 네이티브의 2024년 신기능과 같은 모드 번호입니다. 기본은 대소문자를 구분하며, 패턴 맨 앞에 (?i)를 붙이면 대소문자를 무시합니다(네이티브와 같은 사용법). 텍스트가 아닌 셀은 일치하지 않으며, 찾을값이 텍스트가 아니거나 정규식이 잘못되었거나 search_mode 2/-2(이진 검색)와 조합하면 #VALUE!를 반환합니다. 일치가 없으면 찾지못하면 값이 그대로 적용됩니다.
- 정규식 문법은 std::wregex의 ECMAScript입니다(네이티브 365의 PCRE2와 일부 다를 수 있습니다).
- 찾을범위가 1열이면 세로 검색, 그 외에는 첫 행을 대상으로 가로 검색합니다.
- 찾을값에 배열을 지정하면 원소별로 조회해 찾을값과 같은 모양의 배열로 스필됩니다 — 반환범위가 여러 열이면 원소별 결과는 첫 값으로 강등되고(네이티브 동일), 오류인 찾을값은 그 오류를 반환합니다.
- 관련 함수: XMATCH, FILTER.
- 지원: Excel 2010+. 네이티브가 없는 구버전에서는
XLOOKUP그대로(드롭인), 네이티브가 있는 최신 Excel에서는EG.XLOOKUP으로 등록됩니다.