엑셀 고수들의 필수 함수! INDEX + MATCH 완전 정복!
엑셀에서 정말 자주 쓰이지만 처음엔 살~짝 어렵게 느껴지는 함수 두 가지를 소개할게요.
바로 INDEX 함수와 MATCH 함수예요!
이 두 함수는 따로 써도 유용하지만 조합해서 쓰면 거의 모든 데이터 찾기 문제를 해결할 수 있을 정도로 막강한 능력을 보여줘요.
내가 원하는 위치의 값을 딱! INDEX 함수 완전 정복 |
엑셀로 데이터를 다루다 보면 "이 테이블의 어느 위치에 있는 값을 정확하게 가져오고 싶다"는 상황이 정말 자주 생기죠?
그럴 때 꼭 필요한 친구가 바로 INDEX 함수예요.
INDEX 함수란?
INDEX는 지정한 행과 열 위치에 있는 값을 반환해주는 함수예요.
쉽게 말해 "이 표에서 3행 2열에 있는 값을 가져다 줘!"라고 말하는 거랑 같아요.
엑셀의 눈으로 좌표를 찍는 함수라고 생각하면 이해가 쏙쏙 될 거예요!
기본 문법
=INDEX(범위, 행번호, [열번호])
각 인수 설명
- 범위
값을 가져올 데이터의 전체 범위를 지정해요.
(예 : A1:C10, B2:D8 등) - 행번호
몇 번째 행의 값을 가져올지 숫자로 지정해요.
예를 들어 3이라면 지정한 범위의 세 번째 행을 의미해요. - 열번호 (선택)
2차원 범위인 경우 몇 번째 열의 값을 가져올지도 지정해줘야 해요.
(열이 하나뿐이면 생략 가능해요!)
예시 1 : 2차원 범위에서 값 가져오기
=INDEX(A1:C5, 2, 3)
이건 A1부터 C5까지의 표에서, 2번째 행, 3번째 열의 값을 가져오는 거예요.
즉, B2 셀의 오른쪽 옆에 있는 값을 반환하는 거죠.
예시 2 : 1차원 범위에서 값 가져오기
=INDEX(A1:A10, 4)
이건 A1부터 A10까지 중에서 4번째 행의 값을 가져오는 거예요.
열번호는 생략해도 돼요. 왜냐면 열이 하나뿐이라 자동으로 인식하거든요!
INDEX 함수, 이런 점이 좋아요!
- 행/열 위치만 알면 값을 정확하게 뽑아올 수 있어요.
- 다른 함수(MATCH, ROW, COLUMN 등)와 결합하면 자동화에 탁월해요.
- VLOOKUP보다 훨씬 유연해요.
(예 : 왼쪽 값을 기준으로 오른쪽 값을 가져오는 것도 가능!)
실무 활용 팁
다른 함수와 함께 쓰기
=INDEX(A1:C10, MATCH("홍길동", A1:A10, 0), 3)
A열에서 "홍길동"이 있는 행을 MATCH 함수로 찾고,
그 행의 C열 값을 INDEX 함수로 가져오는 조합이에요.
정말 실무에서 많이 쓰는 방식입니다!
행 전체, 열 전체 가져오기
=INDEX(A1:C10, 2, 0)
열번호에 0을 넣으면 2행 전체를 배열로 반환해줘요.
(단, 이건 배열 수식으로 사용하거나 특정 함수 안에서 활용해야 유효해요!)
INDEX는 어떤 상황에서 쓸 수 있을까요?
- 복잡한 테이블에서 행/열 번호로 값을 정밀하게 찾고 싶을 때
- MATCH, ROW, COLUMN 등과 함께 써서 조건에 맞는 위치를 자동으로 계산할 때
- VLOOKUP의 한계를 뛰어넘고 싶을 때!
요약
항목 | 설명 |
함수 이름 | INDEX |
기능 | 지정된 위치의 값을 반환 |
문법 | =INDEX(범위, 행번호, [열번호]) |
장점 | 유연하고 정확한 위치 검색 가능, 다른 함수와 잘 어울림 |
주의점 | 행/열 번호는 범위 내 기준으로 계산해야 해요 |
내가 찾는 값이 어디 있지? MATCH 함수 완전 정복! |
엑셀을 하다 보면 이런 고민 자주 하게 되잖아요.
“이 값이 이 표에서 몇 번째에 있는지 알고 싶다!”
“특정 값이 몇 행에 있는지를 자동으로 찾고 싶다!”
이럴 때 정확하게 위치(index 번호)를 찾아주는 똑똑한 함수가 바로 MATCH 함수예요.
MATCH 함수란?
MATCH는 영어 뜻 그대로 “일치하다”는 의미예요.
엑셀에서 MATCH 함수는 어떤 값이 범위에서 몇 번째 위치에 있는지를 숫자로 반환해줘요.
하지만 주의할 점! MATCH는 그 위치만 알려주고 실제 값은 반환하지 않아요.
값을 가져오고 싶다면 INDEX 함수랑 짝꿍처럼 함께 써야 해요.
기본 문법
=MATCH(찾을값, 범위, [일치유형])
인수 설명
- 찾을값
내가 찾고자 하는 값이에요.
예 : "사과", 100, 셀 참조(B1) 등 가능해요. - 범위
값을 찾을 셀 범위예요.
세로든 가로든 상관없고, 단일 행이나 단일 열이어야 해요!
(예 : A1:A10 또는 B2:H2처럼 한 줄 또는 한 칸 넓이여야 해요) - [일치유형] (선택)
이 인수가 정말 중요해요!
어떤 방식으로 값을 찾을지 결정해요:값 의미 조건0 정확히 일치 보통 가장 많이 씀! 1 작거나 같은 값 중 최대값 범위가 오름차순 정렬되어 있어야 해요 -1 크거나 같은 값 중 최소값 범위가 내림차순 정렬되어 있어야 해요
예시 1: 정확히 일치하는 값의 위치 찾기
=MATCH("사과", A1:A10, 0)
A1부터 A10 중에서 "사과"가 몇 번째 위치에 있는지 알려줘요.
예를 들어 A3 셀에 "사과"가 있다면 결과는 3이에요!
예시 2 : 숫자 값 찾기
=MATCH(80, B1:B5, 0)
B열에서 숫자 80이 몇 번째에 있는지 찾는 거예요.
만약 B2가 80이면 결과는 2!
예시 3 : 셀 참조로 찾기
=MATCH(D1, A1:A10, 0)
D1에 입력된 값을 A1~A10 범위에서 찾아 위치를 반환해요.
데이터가 바뀌어도 자동으로 위치를 계산해주니까 정말 유용하죠!
MATCH + INDEX: 실무 최강 조합! |
MATCH는 단독으로도 유용하지만 INDEX 함수와 함께 쓰면 무적이에요!
위치만 알려주는 MATCH와 위치로 값을 찾아주는 INDEX의 완벽한 콤비죠.
예시
=INDEX(B1:B10, MATCH("사과", A1:A10, 0))
A열에서 "사과"를 찾아 그 위치(행 번호)를 알아내고
B열에서 같은 행의 값을 INDEX로 찾아오는 거예요!
VLOOKUP보다 더 유연하고 강력하답니다.
주의할 점
- MATCH는 정확한 위치만 반환해요. 값을 원하면 INDEX와 함께 사용하세요.
- [일치유형]을 0으로 지정하지 않으면 정렬이 안 된 상태에서 엉뚱한 결과가 나올 수 있어요.
- MATCH는 오직 한 줄(행) 또는 한 칼럼(열) 범위에서만 동작해요. 2차원 범위는 안 돼요!
정리해볼까요?
항목 | 설명 |
함수 이름 | MATCH |
기능 | 특정 값이 범위에서 몇 번째에 있는지 위치 반환 |
문법 | =MATCH(찾을값, 범위, [일치유형]) |
반환값 | 숫자 (index 위치) |
주 사용처 | INDEX, VLOOKUP 대체, 동적 검색 |
INDEX + MATCH 조합 사용법 완전 정복! |
왜 굳이 VLOOKUP 대신 INDEX + MATCH를 쓸까?
VLOOKUP도 특정 값을 기준으로 다른 값을 찾을 수 있지만
기준 열이 항상 왼쪽, 범위 구조가 고정, 열 번호를 직접 입력해야 함 같은 단점이 있어요.
그에 비해 INDEX + MATCH는
- 기준 열이 오른쪽이든 왼쪽이든 상관없고
- 범위가 바뀌어도 유연하게 대응 가능하며
- 정확히 일치하는 값만 찾는 데도 더 안정적이에요!
INDEX + MATCH 조합 기본 구조
=INDEX(값을가져올범위, MATCH(찾을값, 기준범위, 0))
- MATCH(찾을값, 기준범위, 0)
→ 기준범위에서 찾을값이 몇 번째에 있는지 위치(숫자)를 반환해줘요. - 그 위치 값을 INDEX(…)의 두 번째 인수로 넣어서
→ 값을가져올범위 중 그 위치의 값을 꺼내오는 거죠!
예제 데이터
A열 (상품명) | B열 (가격) |
사과 | 1000 |
바나나 | 1500 |
포도 | 2000 |
예시 공식
=INDEX(B1:B3, MATCH("사과", A1:A3, 0))
풀이
- MATCH("사과", A1:A3, 0) →
A1:A3 범위에서 "사과"는 1번째에 있어요 → 결과: 1 - INDEX(B1:B3, 1) →
B1:B3 범위의 1번째 값은 1000 → 결과: 1000
최종적으로 "사과"의 가격인 1000을 정확히 가져오게 돼요!
VLOOKUP과의 차이점 |
항목 | VLOOKUP | INDEX + MATCH |
기준 열 위치 | 반드시 왼쪽 | 왼쪽/오른쪽 모두 가능 |
열 번호 | 숫자로 지정 (고정됨) | 위치를 MATCH로 계산 (유동적) |
속도 | 느림 (대규모 데이터에서) | 상대적으로 빠름 |
유연성 | 낮음 | 높음 |
- 예를 들어 오른쪽에서 왼쪽으로 값을 찾아야 하는 경우, VLOOKUP은 사용할 수 없지만 INDEX + MATCH는 가능해요!
실무형 예시: 동적 검색
예 : 상품명을 드롭다운으로 선택하면 자동으로 가격이 표시되는 구조 만들기
- A1:A100 → 상품명 리스트
- B1:B100 → 상품 가격
- D1 → 사용자가 상품명을 선택한 셀
=INDEX(B1:B100, MATCH(D1, A1:A100, 0))
사용자가 D1에서 선택한 상품명에 따라 자동으로 해당 가격이 표시돼요.
이렇게 하면 함수 수정 없이도 동적으로 결과를 보여줄 수 있어요!
MATCH를 열 번호로도 응용해보자!
예를 들어 가로 방향 데이터에서 특정 항목이 몇 번째 열에 있는지 찾을 수도 있어요.
=INDEX(A2:D2, MATCH("포도", A1:D1, 0))
A1:D1에서 "포도"가 몇 번째 열인지 찾고
A2:D2에서 그 위치의 값을 반환하는 방식이에요!
실무 팁 요약
- INDEX + MATCH는 가장 신뢰할 수 있는 검색 방식이에요.
- 범위가 바뀌어도 공식이 깨지지 않아서 템플릿에 활용하기 좋아요.
- MATCH를 응용하면 열 위치 자동화도 가능해서 유지보수가 쉬워요.
이제 INDEX + MATCH 조합까지 마스터하셨다면
엑셀 검색 함수의 진짜 고수라고 해도 과언이 아니에요!
왜 INDEX + MATCH가 좋을까요? |
기능 | VLOOKUP | INDEX + MATCH |
왼쪽 열 검색 | ❌ 안됨 | ✅ 가능 |
열 삽입에 영향 | ✅ 영향 받음 | ✅ 영향 거의 없음 |
가로/세로 모두 사용 | ❌ 세로만 | ✅ 모두 가능 |
속도 | 느릴 수 있음 | 상대적으로 빠름 |
즉, VLOOKUP보다 훨씬 유연하게 데이터 검색이 가능하다는 것!
엑셀 고수들은 대부분 INDEX + MATCH를 씁니다.
실무 팁 모음
- MATCH 함수의 결과값을 행번호나 열번호로 넣으면 자동화에 딱!
- MATCH(1, 조건1*(조건2), 0) 같은 형태로 조건이 여러 개일 때도 활용 가능해요!
- INDEX(범위, MATCH(...)) 조합은 필터처럼 원하는 값을 쏙 뽑아올 때 아주 유용해요.
처음에는 살짝 복잡해 보이지만 한 번 익숙해지면 INDEX + MATCH는
어떤 검색도 자유자재로 할 수 있는 엑셀 데이터 분석의 핵심 무기예요!
오늘 배운 내용 잘 복습해보시고
VLOOKUP 말고도 INDEX와 MATCH로 더 유연하게 데이터를 다뤄보세요.
2025.05.09 - [업무놀이터/업무관련 프로그램] - [Excel] 찾기/참조 함수 완전 정복! VLOOKUP & HLOOKUP 쉽게 이해해요
[Excel] 찾기/참조 함수 완전 정복! VLOOKUP & HLOOKUP 쉽게 이해해요
찾기/참조 함수 완전 정복! VLOOKUP & HLOOKUP 쉽게 이해해요엑셀을 사용하다 보면 여러 데이터 중에서 특정 값을 찾아야 할 때가 정말 많잖아요? 예를 들어 "사과의 가격이 얼마지?" 같은 질문이 생기
cathand1010.com
#엑셀 #엑셀함수 #INDEX #MATCH #엑셀기초 #엑셀공부 #엑셀데이터분석 #엑셀자동화 #VLOOKUP대체 #엑셀활용팁
#INDEX함수 #엑셀기초 #엑셀활용팁 #엑셀데이터분석 #엑셀자동화 #VLOOKUP대체 #MATCH함수와궁합 #엑셀표활용
#INDEXMATCH #VLOOKUP대체 #엑셀실무 #엑셀팁 #엑셀공식 #데이터분석
'업무놀이터 > 업무관련 프로그램' 카테고리의 다른 글
[Excel] 엑셀 고수는 이렇게 씁니다! OFFSET & CHOOSE 함수 완전 정복 (0) | 2025.05.29 |
---|---|
[Auto CAD] CAD 도면 확대/축소/저장 뷰, 이렇게만 하면 끝! - ZOOM·PAN·VIEW 활용법 (0) | 2025.05.26 |
[Auto CAD] 되돌리기 vs 다시 실행! UNDO/REDO 제대로 쓰는 법 (0) | 2025.05.19 |
[Excel] 찾기/참조 함수 완전 정복! VLOOKUP & HLOOKUP 쉽게 이해해요 (0) | 2025.05.15 |
[Auto CAD] 블록(Block) : 반복 요소의 끝판왕! (0) | 2025.05.12 |