5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무 위키응용 공식INDEX/MATCH 가로세로 양방향 검색

INDEX/MATCH 가로세로 양방향 검색

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

세로 항목과 가로 머리글이 만나는 값을 검색하는 공식입니다.

INDEX/MATCH 가로세로 양방향 검색 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01INDEX/MATCH 양방향 검색

=INDEX ( 전체범위, MATCH ( 세로값, 세로범위, 0 ), MATCH ( 가로값, 가로범위, 0 ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
전체범위필수세로 위치와 가로 위치가 만나는 값을 반환할 데이터 범위입니다.
세로값필수세로범위에서 검색할 값입니다.
세로범위필수세로값의 행 위치를 찾을 단일 열 범위입니다. 같은 값이 여러 개면 MATCH 함수가 첫 번째 위치를 반환합니다.
가로값필수가로범위에서 검색할 머리글입니다.
가로범위필수가로값의 열 위치를 찾을 머리글 범위입니다. 같은 머리글이 여러 개면 MATCH 함수가 첫 번째 위치를 반환합니다.
H2=INDEX($A$2:$D$8,MATCH(F2,$A$2:$A$8,0),MATCH(G2,$A$1:$D$1,0))
A
B
C
D
E
F
G
H
I
1
제품명
단가
재고
최소주문수량
찾을 제품
찾을 항목
검색 결과
2
노트세트
12000
18
2박스
3종 케이스세트
최소주문수량
1박스
3
메모패드
5000
32
5권
4
펜세트
8000
25
3세트
5
3종 케이스세트
18000
9
1박스
6
파우치
15000
14
2개
7
보관함
22000
7
1박스
8
여행키트
27000
11
2세트
9
두 MATCH 함수가 3종 케이스세트의 행 위치 4와 최소주문수량의 열 위치 4를 찾고 INDEX 함수가 H2 셀에 1박스를 반환합니다.

동작 원리

두 MATCH 함수가 세로 목록의 행 번호와 가로 머리글의 열 번호를 찾고 INDEX 함수가 두 위치가 만나는 값을 반환합니다.

INDEX/MATCH 양방향 검색 예제 시트에서 H2 셀이 1박스를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

첫 번째 MATCH 함수가 행 번호를 찾습니다

MATCH 함수는 A2:A8에서 3종 케이스세트를 정확히 검색합니다. 해당 제품은 범위의 네 번째 위치에 있으므로 행 번호 4를 반환합니다.

=MATCH ( F2, $A$2:$A$8, 0 ) F2의 제품명을 정확히 일치로 찾습니다.
= 4 A2:A8에서 3종 케이스세트의 상대 위치입니다.
2

두 번째 MATCH 함수가 열 번호를 찾습니다

MATCH 함수는 A1:D1에서 최소주문수량 머리글을 정확히 검색합니다. 해당 머리글은 범위의 네 번째 위치에 있으므로 열 번호 4를 반환합니다.

=MATCH ( G2, $A$1:$D$1, 0 ) G2의 머리글을 정확히 일치로 찾습니다.
= 4 A1:D1에서 최소주문수량의 상대 위치입니다.
3

INDEX 함수가 두 위치의 교차값을 반환합니다

INDEX 함수는 A2:D8에서 네 번째 행과 네 번째 열이 만나는 값을 찾습니다. 두 위치가 만나는 값은 1박스입니다.

=INDEX ( $A$2:$D$8, 4, 4 ) 두 MATCH 함수가 반환한 행 번호와 열 번호를 사용합니다.
= "1박스" 3종 케이스세트의 최소주문수량입니다.

02중첩 XLOOKUP 대체형 (Excel 2021 이상)

=XLOOKUP ( 가로값, 가로범위, XLOOKUP ( 세로값, 세로범위, 전체범위 ) )
인수 설명 자세히 보기
인수구분설명
가로값필수가로범위에서 검색할 머리글입니다.
가로범위필수가로값의 위치를 찾을 머리글 범위입니다.
세로값필수세로범위에서 검색할 값입니다.
세로범위필수세로값의 위치를 찾을 단일 열 범위입니다.
전체범위필수세로값과 같은 행 전체를 먼저 반환할 데이터 범위입니다. 가로범위와 열 개수가 같아야 합니다.
H2=XLOOKUP(G2,$A$1:$D$1,XLOOKUP(F2,$A$2:$A$8,$A$2:$D$8))
A
B
C
D
E
F
G
H
I
1
제품명
단가
재고
최소주문수량
찾을 제품
찾을 항목
검색 결과
2
노트세트
12000
18
2박스
3종 케이스세트
최소주문수량
1박스
3
메모패드
5000
32
5권
4
펜세트
8000
25
3세트
5
3종 케이스세트
18000
9
1박스
6
파우치
15000
14
2개
7
보관함
22000
7
1박스
8
여행키트
27000
11
2세트
9
안쪽 XLOOKUP 함수가 3종 케이스세트의 한 행을 반환하고 바깥쪽 XLOOKUP 함수가 최소주문수량 열을 골라 H2 셀에 1박스를 반환합니다.

동작 원리

안쪽 XLOOKUP 함수가 세로값과 같은 행을 반환하고 바깥쪽 XLOOKUP 함수가 그 행에서 가로값의 열을 선택합니다.

중첩 XLOOKUP 대체형 예제 시트에서 H2 셀이 1박스를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

안쪽 XLOOKUP 함수가 제품 행을 반환합니다

안쪽 XLOOKUP 함수는 A2:A8에서 3종 케이스세트를 찾아 A2:D8의 같은 행 전체를 가로 배열로 반환합니다.

=XLOOKUP ( F2, $A$2:$A$8, $A$2:$D$8 ) 3종 케이스세트와 같은 행의 네 값을 가져옵니다.
= {"3종 케이스세트",18000,9,"1박스"} A5:D5의 네 값으로 이루어진 가로 배열입니다.
2

바깥쪽 XLOOKUP 함수가 머리글 열을 선택합니다

바깥쪽 XLOOKUP 함수는 A1:D1에서 최소주문수량을 찾아 안쪽 함수가 반환한 배열의 네 번째 값인 1박스를 반환합니다.

=XLOOKUP ( G2, $A$1:$D$1, XLOOKUP ( F2, $A$2:$A$8, $A$2:$D$8 ) ) 최소주문수량 머리글과 같은 위치의 값을 선택합니다.
= "1박스" 3종 케이스세트의 최소주문수량입니다.
이 공식이 사용하는 함수

댓글 50

댓글 50
5 (33개 평가)
finepoint
finepoint 2019.09.11 16:16
안녕하세요. 평소에 친절하게 설명해주시는 엑셀강의 정말 잘 보고 있습니다. 덕분에 많은 도움을 받고 있습니다.
궁금한 점이 있어 댓글 남깁니다. 실무에서 index-match함수를 가끔 사용하는데 2가지 조건하에서는 잘 활용하는데 3가지 이상의 조건에서는 항상 에러가 나더라고요. 예를 들면 '연도별&월별&판매처'의 수량데이터를 불러온다던지 이런 경우에는 두 가지 조건(match(연도별&월별,~),match(판매처,~)으로 정리하곤 합니다. 해서, 3가지 이상의 다중조건의 경우 어떤 식으로 적용하는게 좋은지 궁금합니다.
오빠두엑셀
오빠두엑셀 2019.09.13 10:43
안녕하세요? 오빠두엑셀입니다.
MATCH 함수를 아래와 같이 사용해보세요.
MATCH(1,( --(조건범위=조건)*--(조건범위=조건)*...),0)
감사합니다!
박상준
박상준 2020.03.11 14:19
안돼요 ㅠㅠ 예제하나 올려주시면 안될까요?..
오빠두엑셀
오빠두엑셀 작성자 2020.03.12 17:30
안녕하세요~^^ 어떻게 안되시나요?
만약 #VALUE! 오류가 출력되신다면, 함수를 Ctrl + Shift + Enter로 배열수식으로 입력해보시겠어요?
감사합니다!
몽이아빠
몽이아빠 2020.07.11 22:08
이렇게 배열 적용시..행과 열의 배열위치는 정해져 있지 않는지요?
저도 2개 조건은 쉽게 되는데..2개 이상의 조건(특히 행열 조건을 같이 줘야 할때..잘안되서..
조건 앞에 --를 붙여 보라는 말씀 이신지?
오빠두엑셀
오빠두엑셀 작성자 2020.07.13 03:05
안녕하세요?^^ 2개 이상의 조건을 가로/세로로 모두 적용하고 싶으실 경우 아래 공식을 이용해보세요.
원리는 INDEX(범위,행번호,열번호) 에서 각 행번호와 열번호를 MATCH 함수로 입력하는 것입니다. 각 구간별로 나눠 공부하시면 쉽게 이해할 수 있으실 거에요.
INDEX(출력범위, MATCH(1,--(조건1=세로범위1)*(조건2=세로범위2)*…), 0), MATCH(1,--(조건1=가로범위1)*(조건2=가로범위2)*…), 0))
화이팅입니다!(ง •̀_•́)ง
하늬돌이
하늬돌이 2020.02.09 11:08
좋은 설명 감사해요.
초코
초코 2020.03.04 22:13
좋은정보 감사합니다
daniel_p
daniel_p 2020.03.22 21:06
많은 도움이 되었습니다... 감사합니다~
sun3148
sun3148 2020.03.25 10:32
제가 정말 원했던 기능에 대해서 설명을 너무 자세하고 쉽게 잘 해주셨네요. 빨리 적용해 봐야겠어요. ^^
쌍둥아빠
쌍둥아빠 2020.03.29 18:04
잘 보고 갑니다.
갓쩌리
갓쩌리 2020.04.03 14:24
이정도면 필터 기능이 없는 오피스2010에 적용할 만한 조합인것 같네요.
토토가
토토가 2020.04.04 17:15
배열함수 팁으로 여러조건이 가능하네요 감샤합니다~~
엑셀기초
엑셀기초 2020.04.15 21:30
좋은 설명 감사해요
zi****
zi**** 2020.06.05 15:48
좋은자료 감사드립니다.
스크랩 완료