엑셀 / 여러 조건 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에서는 지원되는 대안 수식을 사용합니다.

같은 카테고리의 다른 글
엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

COUNT·COUNTA·COUNTBLANK·COUNTIF·COUNTIFS의 계산 대상을 비교합니다. 수식 빈 문자열, 공백과 0의 처리 및 조건별 개수 예제를 설명합니다.

엑셀 / 피벗 테이블 / 보고서 레이아웃

엑셀 / 피벗 테이블 / 보고서 레이아웃

압축·개요·테이블 형식과 항목 레이블 반복을 비교합니다. 보고서 생성부터 소계·총계·빈 행과 복사·내보내기 시 주의점을 안내합니다.

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

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

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

엑셀 / 함수 / YEAR, MONTH, DAY / 년, 월, 일 반환하는 함수

엑셀 / 함수 / YEAR, MONTH, DAY / 년, 월, 일 반환하는 함수

YEAR·MONTH·DAY로 날짜에서 연·월·일을 추출하고 일련번호 구조를 설명합니다. 빈 셀과 텍스트 날짜, 날짜 체계의 차이를 확인할 수 있습니다.

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

LOG·LOG10·LN의 차이와 로그 계산의 입력 조건을 설명합니다. 혼합 참조를 사용해 행과 열로 펼쳐지는 상용로그표를 만들 수 있습니다.

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

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

CONCAT·CONCATENATE와 & 연산자로 문자열을 연결하는 방법을 설명합니다. 공백·구분자 추가와 숫자·날짜 표시를 유지하는 방법도 안내합니다.

엑셀 / 피벗 테이블 / 만드는 방법

엑셀 / 피벗 테이블 / 만드는 방법

피벗 테이블 원자료·보고서 위치·행·열·값 영역을 설정하는 방법을 설명합니다. 합계가 개수로 나오는 이유와 데이터 추가 후 범위·새로 고침도 안내합니다.

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

선택 영역 인쇄와 인쇄 영역 지정의 차이를 설명합니다. 머리글·배율·미리 보기와 다음 인쇄 작업의 설정 확인을 안내합니다.

엑셀 / 함수 / PRODUCT / 곱하기 함수

엑셀 / 함수 / PRODUCT / 곱하기 함수

PRODUCT로 개별 숫자·범위를 곱하는 방법을 설명합니다. 빈 셀·텍스트·0 처리와 행별 곱의 합을 구하는 SUMPRODUCT의 차이도 확인할 수 있습니다.

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

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

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