엑셀 / 여러 조건 LOOKUP

LOOKUP에 여러 조건을 곱한 배열을 넣으면 모든 조건을 만족하는 행의 값을 찾는 수식을 만들 수 있습니다. 다만 아래 방식은 조건을 만족하는 행이 여러 개면 마지막 일치 값을 반환합니다. 첫 번째 일치·모든 결과·합계를 구하는 작업과 구분해야 합니다.

예제 수식

=LOOKUP(1,1/((A1:A4=E1)*(B1:B4=F1)),C1:C4)

A열이 E1과 같고 B열이 F1과 같은 행에서 C열 값을 가져오는 예입니다. 세 범위는 같은 행 길이로 대응되어야 합니다.

A열이 E1과 같고 B열이 F1과 같은 행에서 C열 값을 가져오는 예입니다. 세 범위는 같은 행 길이로 대응되어야 합니다.

조건 비교는 TRUE·FALSE 배열을 만들고 곱셈에서는 1·0으로 계산됩니다. 둘 다 맞는 행은 1, 하나라도 틀린 행은 0이며 1을 그 결과로 나누면 일치 행은 1, 다른 행은 나눗셈 오류가 됩니다. 이 관용 수식은 그 배열에서 마지막 일치 위치를 찾는 방식입니다.

중복과 일치하지 않는 경우

같은 조건을 만족하는 행이 여러 개이면 마지막 행의 C값이 선택됩니다. 데이터 순서를 바꾸면 반환 결과도 달라질 수 있으므로 중복을 허용할지, 최신 행이 뒤에 있는지 같은 업무 규칙을 먼저 정하세요. 일치가 없으면 #N/A 오류가 날 수 있습니다.

필요하다면 IFNA로 미일치 안내를 추가하되 원자료 오류와 조건 미일치를 모두 정상 상태로 감추지 마세요. 숫자와 텍스트의 차이·공백 때문에 같은 값처럼 보여도 조건에서 제외될 수 있습니다.

일반 LOOKUP과의 차이

일반적인 LOOKUP 조회 벡터는 오름차순 정렬 등 문서에 명시된 조건을 따라야 합니다. 위 수식은 조건 배열을 가공한 특수한 사용 방식이며, 원자료를 아무렇게나 넣는 모든 LOOKUP 수식이 정확한 조회를 한다는 뜻은 아닙니다.

구문과 지원 제품은 Microsoft의 LOOKUP 함수 설명, Microsoft의 XLOOKUP 함수 설명에서 확인할 수 있습니다.

지원 버전에서는 XLOOKUP 대안

=XLOOKUP(1,(A1:A4=E1)*(B1:B4=F1),C1:C4,"없음")

XLOOKUP의 기본 검색 방향은 앞에서부터이므로 첫 일치 값을 반환합니다. 마지막 일치를 원하면 검색 방향 인수 -1을 명시할 수 있습니다. 모든 행을 나열하려면 FILTER, 합계를 구하려면 SUMIFS처럼 목적에 맞는 도구를 선택하세요. XLOOKUP을 사용할 수 없는 Excel 2016·2019에서는 지원되는 대안 수식을 사용합니다.

같은 카테고리의 다른 글
엑셀 / 참조 / 상대 참조, 절대 참조, 혼합 참조

엑셀 / 참조 / 상대 참조, 절대 참조, 혼합 참조

상대·절대·혼합 참조의 복사 규칙을 예제로 설명합니다. $의 행·열 고정, F4 전환과 곱셈표·고정 비율 계산의 활용을 안내합니다.

엑셀 / 암호 설정하는 방법, 암호 해제하는 방법

엑셀 / 암호 설정하는 방법, 암호 해제하는 방법

열기 암호·쓰기 암호·시트 보호의 목적을 비교하고 설정·해제 과정을 안내합니다. 저장 후 검증, 암호 분실과 보호의 보안 한계도 설명합니다.

엑셀 / 함수 / ADDRESS / 셀 주소 확인하는 함수

엑셀 / 함수 / ADDRESS / 셀 주소 확인하는 함수

ADDRESS의 행·열 번호와 절대·상대 참조 옵션을 예제로 설명합니다. A1·R1C1 형식, 시트 이름과 반환 문자열의 한계도 다룹니다.

엑셀 / 함수 / NPV / 순현재가치 계산하는 함수

엑셀 / 함수 / NPV / 순현재가치 계산하는 함수

NPV의 할인율·기간말 현금흐름과 초기 투자금을 구분하는 방법을 설명합니다. 현재가치 예제, 기간 단위와 불규칙한 날짜 자료의 주의점도 다룹니다.

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

EVEN과 ODD가 0에서 멀어지는 방향으로 짝수·홀수를 만드는 원리를 설명합니다. 음수와 0 예제로 ISEVEN·ISODD의 판별 기능과 구분할 수 있습니다.

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

UPPER·LOWER·PROPER의 변환 결과를 비교합니다. 영문 약어와 이름에서 PROPER가 기대와 다르게 작동하는 경우 및 원본에 값으로 반영하는 방법도 안내합니다.

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

오름차순·내림차순과 여러 정렬 기준을 설정하는 방법을 설명합니다. 범위 확장과 머리글·숫자 형식을 확인해 행의 데이터 관계가 깨지지 않도록 안내합니다.

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

LARGE·SMALL로 k번째 값을 구하고 MAX·MIN과 비교합니다. 중복 숫자의 순위 처리, 잘못된 k와 빈 범위에서 발생하는 오류도 설명합니다.

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

TEXTJOIN의 구분자·빈 셀 옵션을 비교하고 여러 셀을 한 문장으로 연결하는 예제를 안내합니다. 날짜·숫자 서식과 결과 길이 제한도 설명합니다.

엑셀 / 나누기, 몫 구하기, 나머지 구하기

엑셀 / 나누기, 몫 구하기, 나머지 구하기

나눗셈 연산자와 QUOTIENT·MOD의 결과를 비교합니다. 0으로 나누는 오류와 음수에서 몫·나머지가 계산되는 방식도 예제로 설명합니다.