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

같은 카테고리의 다른 글
엑셀 / 셀 안에서 강제 줄바꿈하는 방법

엑셀 / 셀 안에서 강제 줄바꿈하는 방법

Alt+Enter로 셀 안에 줄바꿈을 넣고 표시·행 높이를 조절합니다. 자동 줄 바꿈과 실제 줄바꿈의 차이, 수식에서 생성·제거하는 방법도 설명합니다.

엑셀 / 한영 자동 전환 해제하는 방법

엑셀 / 한영 자동 전환 해제하는 방법

한/영 자동 고침을 끄고 다시 켜는 방법을 안내합니다. 새 입력으로 검증하는 과정, 키보드 입력 전환·다른 자동 고침과의 차이도 설명합니다.

엑셀 / 함수 / RADIANS, DEGREES / 도를 라디안으로, 라디안을 도로 변환하는 함수

엑셀 / 함수 / RADIANS, DEGREES / 도를 라디안으로, 라디안을 도로 변환하는 함수

RADIANS·DEGREES로 도와 라디안을 변환하는 예제를 안내합니다. PI()의 사용과 삼각함수에 잘못된 각도 단위를 넣는 문제도 설명합니다.

엑셀 / VBA / 주석 만드는 방법

엑셀 / VBA / 주석 만드는 방법

작은따옴표로 VBA 주석을 만들고 편집 도구 모음으로 여러 줄을 주석 처리하는 방법을 안내합니다. 문자열 속 작은따옴표와 코드 비활성화의 주의점도 설명합니다.

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

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

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

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

MAX·MIN과 조건별 MAXIFS·MINIFS를 비교하고 실제 범위 예제로 설명합니다. 조건에 맞는 데이터가 없을 때의 결과와 지원 버전도 확인할 수 있습니다.

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

SUMSQ로 여러 수의 제곱합을 구하는 구문과 범위 예제를 안내합니다. 합의 제곱과의 차이, 통계의 편차 제곱합과의 구분도 설명합니다.

엑셀 / 함수 / VLOOKUP, HLOOKUP, XLOOKUP

엑셀 / 함수 / VLOOKUP, HLOOKUP, XLOOKUP

VLOOKUP·HLOOKUP·XLOOKUP의 조회 방향과 정확히 일치 옵션을 비교합니다. 범위 고정, 중복 값, 다중 열 반환과 조회 오류를 해결하는 기준도 안내합니다.

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

LEN의 문자 수 계산과 공백·숫자·빈 문자열 처리 예제를 안내합니다. LENB가 파일의 UTF-8 바이트 크기와 다른 점과 이모지의 호환성 차이도 설명합니다.

엑셀 / 함수 / ISEVEN, ISODD / 짝수인지 홀수인지 확인하는 함수

엑셀 / 함수 / ISEVEN, ISODD / 짝수인지 홀수인지 확인하는 함수

ISEVEN·ISODD로 짝수와 홀수를 판단하는 방법을 설명합니다. 0, 음수, 소수의 처리와 IF를 사용한 분류 예제를 확인할 수 있습니다.