엑셀 이름 고르면 고객 정보가 채워지는 조회 카드

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • 드롭다운에서 고객 이름을 고르면 연락처·생년월일·지역·최근 상담일·만 나이가 카드 한 장에 채워지는 조회 화면을 만듭니다.
  • 조합은 데이터 유효성 검사(드롭다운) + MATCH로 위치 한 번 찾기 + INDEX로 항목별 꺼내기 + IFERROR로 빈칸 처리입니다.
  • 이서연 님을 고르면 010-0000-7315, 1985-09-24, 경기 수원, 2026-08-14, 만 41세가 한 번에 나옵니다.

상담 전화를 받거나 약속 장소로 가기 전에 고객 한 사람의 정보를 빨리 보고 싶을 때가 있습니다. 명단이 길면 필터를 걸거나 스크롤을 내려 그 사람의 행을 찾아야 하고, 열이 많으면 옆으로 한참 밀어 봐야 합니다. 영업하는 분이라면 이름 하나만 고르면 필요한 정보가 카드처럼 모여 보이는 시트를 하나 만들어 두면 상담 준비가 한결 가벼워집니다.

자격증 시험에서도 목록에서 값을 고르게 하는 데이터 유효성 검사와, 그 값으로 다른 표를 찾아오는 함수는 따로따로 자주 나옵니다. 이 글은 "목적별 함수 조합" 시리즈의 한 편으로, 그 둘을 합쳐 작은 조회 화면을 완성해 봅니다. INDEX·MATCH의 기본 문법은 엑셀 INDEX MATCH 함수 사용법 총정리에 있습니다.

이름 고르면 정보 카드 완성 - 드롭다운 INDEX MATCH

예제 표 — 고객명단 시트와 조회 시트

먼저 고객명단 시트에 아래처럼 명단이 있다고 하겠습니다. 이름·번호·날짜는 모두 가상입니다.

고객명단ABCDE
1이름연락처생년월일지역최근 상담일
2김민준010-2841-00001990-03-15서울 마포2026-09-02
3이서연010-0000-73151985-09-24경기 수원2026-08-14
4박지훈010-5520-00001985-09-25인천 연수2026-09-18
5최수아010-0000-19471978-12-01서울 송파2026-06-30
6정우진010-7713-00001972-01-10경기 고양2026-09-21
7강하은010-0000-62081999-11-30서울 강서2026-07-07
8윤도현010-3196-00001963-07-07경기 성남2026-09-10
9한지아010-0000-44821994-02-14인천 부평2026-05-20

새 시트를 하나 만들어 이름을 조회로 바꾸고, 카드 모양의 틀을 적어 둡니다. B2가 이름을 고르는 칸, D2는 명단에서 몇 번째인지 계산해 둘 칸입니다.

조회ABCD
2이름(드롭다운)명단 위치(수식)
4연락처(수식)
5생년월일(수식)
6지역(수식)
7최근 상담일(수식)
8만 나이(수식)
9상담 후 지난 날(수식)

완성 — 드롭다운 하나, 위치 수식 하나, 꺼내는 수식 여러 개

1단계: B2에 이름 드롭다운 만들기

  1. 조회 시트의 B2를 선택합니다.
  2. 데이터 탭의 데이터 도구 그룹에서 데이터 유효성 검사를 누릅니다.
  3. 설정 탭의 제한 대상 상자에서 목록을 고릅니다. Microsoft 문서에 따라 이 상자를 허용이라고 부르기도 하니, 버전에 따라 이름이 조금 다를 수 있습니다.
  4. 원본 상자를 클릭한 뒤 고객명단 시트로 가서 A2:A9를 선택합니다. 원본 상자에 시트 이름과 범위가 들어갑니다. 직접 입력한다면 ='고객명단'!$A$2:$A$9입니다.
  5. 드롭다운 표시 확인란이 켜져 있는지 보고 확인을 누릅니다.

B2를 클릭하면 오른쪽에 화살표가 생기고, 누르면 여덟 명의 이름이 나옵니다. 이 단계는 화면에서 하는 기능이라 수식 계산으로 검증할 수 없어 Microsoft 문서의 절차를 기준으로 적었습니다.

2단계: D2에 "명단에서 몇 번째인지" 한 번만 찾기

D2: =IFERROR(MATCH(B2,'고객명단'!$A$2:$A$9,0),"")

3단계: 항목마다 INDEX로 꺼내기

B4: =IF($D$2="","",INDEX('고객명단'!$B$2:$B$9,$D$2))
B5: =IF($D$2="","",INDEX('고객명단'!$C$2:$C$9,$D$2))
B6: =IF($D$2="","",INDEX('고객명단'!$D$2:$D$9,$D$2))
B7: =IF($D$2="","",INDEX('고객명단'!$E$2:$E$9,$D$2))
B8: =IF(B5="","",DATEDIF(B5,TODAY(),"Y"))
B9: =IF(B7="","",TODAY()-B7)

B5와 B7은 표시 형식을 간단한 날짜로, B8과 B9는 일반으로 바꿉니다. 날짜끼리 뺀 B9는 결과가 날짜 모양으로 보일 수 있어 서식을 확인해야 합니다.

오늘이 2026년 9월 24일이라고 할 때, B2에서 이름을 바꿔 가며 고른 결과입니다.

B2에서 고른 이름D2 위치B4 연락처B5 생년월일B6 지역B7 최근 상담일B8 만 나이B9 지난 날
이서연2010-0000-73151985-09-24경기 수원2026-08-144141
최수아4010-0000-19471978-12-01서울 송파2026-06-304786
한지아8010-0000-44821994-02-14인천 부평2026-05-2032127
(비움)(빈칸)(빈칸)(빈칸)(빈칸)(빈칸)(빈칸)(빈칸)

B2를 선택하고 Delete로 이름을 지우면 카드 전체가 빈칸이 되어 새로 고를 준비가 됩니다. 최수아 님처럼 마지막 상담 후 지난 날이 긴 고객을 바로 알아볼 수 있습니다.

수식 풀어 보기 — 안쪽부터 한 겹씩

B2에서 최수아 님을 골랐을 때를 따라가 보겠습니다.

  1. MATCH(B2,'고객명단'!$A$2:$A$9,0) → 이름 범위 A2:A9에서 최수아가 몇 번째인지 찾습니다. 결과는 4. 마지막 0은 정확히 같은 값만 찾으라는 뜻입니다.
  2. IFERROR(4,"") → 오류가 아니므로 4를 그대로 D2에 둡니다. B2가 비어 있어 MATCH가 #N/A를 낼 때만 빈칸("")으로 바꿉니다.
  3. $D$2="" → D2가 4이므로 FALSE. 그래서 IF는 세 번째 인수를 계산합니다.
  4. INDEX('고객명단'!$B$2:$B$9,4) → 연락처 범위의 네 번째 칸 010-0000-1947. B5·B6·B7도 가져오는 열만 다를 뿐 같은 4번째 칸을 꺼냅니다.
  5. DATEDIF(B5,TODAY(),"Y") → 카드에 나온 생년월일 1978-12-01부터 오늘까지 꽉 찬 햇수 47. TODAY()-B7은 날짜끼리 뺀 날 수 86입니다.

위치를 D2에서 한 번만 찾는 것이 이 카드의 요령입니다. 항목이 늘어도 INDEX 수식의 열만 바꿔 복사하면 되고, 명단 위치가 눈에 보이니 결과가 이상할 때 어디서 틀렸는지 확인하기도 쉽습니다. D2가 거슬리면 글자색을 흐리게 하거나 열을 숨겨도 계산은 그대로입니다.

DATEDIF는 주의해서 쓰는 함수입니다. Microsoft 문서는 DATEDIF가 옛 Lotus 1-2-3 통합 문서를 지원하려고 제공되며 특정 상황에서 잘못된 결과를 낼 수 있다고 적고, 특히 "MD" 단위는 쓰지 말라고 안내합니다. 여기서 쓰는 "Y"는 만 나이를 구하는 단위입니다. 보험나이는 기준이 달라 이 값과 다를 수 있으니, 보험사·상품마다 기준을 확인해야 합니다.

자주 막히는 곳

증상원인해결
카드 전체가 #N/AIFERROR 없이 MATCH만 쓴 상태에서 B2가 비어 있거나 명단에 없는 이름입니다.D2를 IFERROR(MATCH(…),"")로 감싸고, B4 이하를 IF($D$2="","",…)로 막습니다.
생년월일이 31314 같은 숫자날짜 일련번호가 일반 서식으로 보입니다.B5·B7을 간단한 날짜 서식으로 바꿉니다.
새 고객이 드롭다운에 안 나옴원본 범위를 A2:A9로 고정해 두었습니다.원본 범위와 INDEX·MATCH 범위를 함께 늘립니다. Microsoft 문서는 목록 항목을 표로 만들어 두면 항목을 추가하거나 지울 때 드롭다운이 자동으로 업데이트된다고 안내합니다.
목록에 없는 이름을 쳐도 들어감데이터 유효성 검사 창의 오류 경고 탭에서 스타일이 경고나 정보로 되어 있습니다.스타일을 중지로 두면 목록에 없는 값은 고쳐야만 넘어갈 수 있습니다.
동명이인 중 첫 사람만 나옴MATCH는 정확히 같은 값 가운데 첫 번째 위치를 돌려줍니다.명단 이름 뒤에 생년월일이나 구분 글자를 붙여 겹치지 않게 만듭니다.

IFERROR는 수식을 다 만든 뒤에 씌우세요. IFERROR는 #N/A뿐 아니라 #REF!, #VALUE!, #NAME? 같은 다른 오류도 모두 두 번째 인수로 바꿉니다. 범위를 잘못 잡거나 함수 이름을 틀려도 카드가 조용히 비어 보일 수 있으니, IFERROR 없이 이름을 몇 개 골라 결과가 맞는지 먼저 확인하고 마지막에 감싸는 편이 안전합니다.

다른 방법

1. 한 칸에 모두 넣기 (위치 칸 없이)

B4: =IFERROR(INDEX('고객명단'!$B$2:$B$9,MATCH($B$2,'고객명단'!$A$2:$A$9,0)),"")

D2 없이 항목마다 IFERROR + INDEX + MATCH를 통째로 넣는 방식입니다. 결과는 완성 수식과 같습니다. 칸이 적어 깔끔하지만 항목 수만큼 같은 MATCH를 반복하게 됩니다. 시험 문제처럼 결과 칸 하나에 수식을 완성해야 할 때는 이 형태가 맞습니다.

2. 수식 하나를 아래로 채우기 (머리글로 열 찾기)

B4: =IFERROR(INDEX('고객명단'!$A$2:$E$9,MATCH($B$2,'고객명단'!$A$2:$A$9,0),MATCH(A4,'고객명단'!$A$1:$E$1,0)),"")

카드 왼쪽 항목 이름(A4 연락처, A5 생년월일…)을 고객명단 머리글과 똑같이 적어 두면, 두 번째 MATCH가 머리글 행에서 그 항목이 몇 번째 열인지 찾습니다. B4에 한 번 쓰고 B7까지 채우면 네 항목이 모두 나옵니다. 카드에 항목을 추가할 때도 A열에 머리글과 같은 이름만 적고 수식을 한 칸 더 채우면 됩니다.

3. 문자 보낼 때 쓸 한 줄 만들기

=IF($D$2="","",B2&" / "&B4&" / "&TEXT(B5,"yyyy-mm-dd"))

이서연 님을 고르면 이서연 / 010-0000-7315 / 1985-09-24가 나옵니다. 날짜를 &로 그냥 붙이면 일련번호가 붙기 때문에 TEXT로 날짜 모양의 글자로 바꿔 이어 붙였습니다.

4. XLOOKUP (Microsoft 365·엑셀 2021 이후)

새 버전에서는 =XLOOKUP($B$2,'고객명단'!$A$2:$A$9,'고객명단'!$B$2:$B$9,"")처럼 못 찾았을 때 보여 줄 값을 네 번째 인수에 넣어 IFERROR 없이 쓸 수 있습니다. Microsoft 문서에 따르면 XLOOKUP은 엑셀 2016과 2019에서는 쓸 수 없으므로, 여러 사람이 함께 쓰는 파일이라면 INDEX·MATCH가 무난합니다.

자주 묻는 질문

드롭다운 원본을 다른 시트 범위로 잡아도 되나요?

됩니다. Microsoft 문서의 예도 다른 워크시트의 A2:A9 범위를 원본으로 선택합니다. 원본 상자를 클릭한 상태에서 고객명단 시트 탭을 누르고 범위를 끌어 선택하면 시트 이름이 들어간 주소가 원본 상자에 들어갑니다.

드롭다운을 없애고 싶어요.

B2를 선택하고 데이터 유효성 검사 창을 다시 연 뒤 모두 지우기를 누르고 확인을 누르면 됩니다. 카드의 수식은 드롭다운과 별개라 그대로 남으므로, B2에 이름을 직접 입력해도 카드는 채워집니다.

카드에 항목을 더 넣고 싶어요.

고객명단에 열을 추가했다면 카드에 행을 하나 더 만들고 INDEX의 가져올 범위만 새 열로 바꿔 넣으면 됩니다. 위치는 D2에서 이미 찾아 두었으므로 MATCH는 다시 쓰지 않아도 됩니다.

함께 보면 좋은 글

참고

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger