Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Excel

엑셀의 MAP 함수가 빛을 발하는 실제 사례 5가지

권현욱(엑셀러) 2026. 5. 12. 17:00
반응형

들어가기 전에

Excel 365, 2021 또는 2024를 사용하는 경우 동적 배열 함수를 사용할 수 있습니다. 이러한 함수는 하나의 함수가 여러 결과를 반환하고 이 결과가 인접 셀로 스필(spill)되어 복잡한 배열 작업을 간소화하는데 도움이 됩니다. Excel 전문가들이 널리 사용하는 함수 중 하나인 MAP 함수를 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

chatgpt / iexceller


이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: 5 real world examples where Excel's MAP function shines
  • URL: https://www.makeuseof.com/real-world-examples-where-excels-map-function-shines/

1. 다중 열 논리: 단일 수식에서 여러 배열 처리

muo

 

MAP 함수의 일반적인 사용 사례는 다중 열 논리를 생성하는 것입니다. 하나의 수식으로 여러 배열을 한 번에 처리할 수 있습니다. 즉, 한 행에 수식을 입력하고 아래로 드래그하여 나머지 행을 채우는 기존의 채우기 방식에 더 이상 의존할 필요가 없습니다. 기존 방식에서는 수천 개의 개별 수식을 생성하게 되는데, 이러한 수식은 오류가 발생하기 쉽고 성능을 저하시킬 수 있습니다.

MAP 함수는 이러한 과정을 완전히 간소화합니다. 하나의 람다 함수에 두 개 이상의 배열을 입력할 수 있습니다. 즉, 하나의 수식으로 복잡한 비교를 처리할 수 있으므로 재고량 대비 재주문 시점, 가격 대비 고객 유형, 무게 대비 배송 지역과 같은 시나리오에 이상적입니다.

 

재고량과 재주문 시점을 비교할 때 MAP 함수를 사용하는 수식은 다음과 같습니다. MAP 함수는 배열의 각 행을 하나씩 평가하고 결과를 하나의 출력 가능한 수식으로 반환합니다.

=MAP(B2:B11, C2:C11, LAMBDA(qty, reorder_point, IF(qty = 0, "OUT", IF(qty <= reorder_point, "LOW", "OK"))))

 

2. 실수 줄이기

muo

 

예전에 엑셀을 이용해 재고 관리를 해본 경험이 있고, 많은 기업들이 Zoho나 QuickBooks 같은 프로그램과 함께 엑셀을 사용하고 있습니다. 하지만 엑셀을 이용한 재고 관리 방식은 종종 수많은 IF 문을 입력하거나 조건부 서식을 시각적으로 활용하는 데 그치기 도 합니다 . 이러한 방법들은 효과적이고 사용하기 쉽지만, 오류 발생 가능성이 높고 유지 관리 측면에서도 어려움을 초래합니다.

 

수천 개의 행에 걸쳐 다음 수식을 입력해야 한다고 상상해 보세요.

=IF(B2=0, "OUT", IF(B2<=C2, "LOW", "OK"))

 

누군가 실수로 수식의 인수를 변경하면 분석 결과가 왜곡될 수 있습니다. 대규모 데이터 세트에서는 정확한 문제 위치를 찾는 것이 매우 어렵거나 심지어 불가능할 수도 있습니다. MAP 함수를 사용하면 추가 수식을 생성하는 대신 결과가 그대로 전달됩니다.

유출된 셀을 다른 수식에 사용해도 아무 문제 없이 작동합니다. 하지만 해당 셀을 편집할 수는 없습니다. 함수를 입력한 셀만 편집 가능하므로, 누군가 실수로 임의의 셀에 수식을 입력하여 문제를 일으키는 것을 방지할 수 있습니다. 오류가 발생하더라도 어디를 확인해야 할지 알 수 있습니다.

 

3. 오류 방지하기

MAP 함수는 명명된 람다 함수를 사용하여 오류 방지 기능을 한 단계 더 높입니다. 특히, 복잡한 수식의 논리를 설명적인 이름을 사용하여 추상화하고 숨기는 방식을 말합니다. 이는 수식을 재사용할 때 복사 붙여넣기 오류를 줄여줄 뿐만 아니라, 의도치 않은 변경도 방지해줍니다.

재고량과 재주문 시점의 예시를 계속해서 살펴보겠습니다. CheckStockExcel의 이름 관리자를 사용하여 이름이 지정된 LAMBDA 함수를 만들 수 있습니다. 이를 위해 [수식] 탭을 선택하고 [이름 정의]를 클릭합니다. 그런 다음 [이름] 필드 에 CheckStock을 입력 하고 [참조 대상] 필드 에 아래 수식을 입력합니다.

=LAMBDA(qty, reorder, IF(qty = 0, "OUT", IF(qty <= reorder, "LOW", "OK")))

 

이제 긴 수식을 여기저기에 쓰는 대신, MAP 함수를 사용하면 훨씬 깔끔해 보입니다.

=MAP(B2:B100, C2:C100, CheckStock)

 

4. 수식 내 계산 검증

muo

 

MAP 함수의 또 다른 일반적인 사용 사례는 할인을 처리하는 것입니다. 하나의 수식으로 모든 계산을 관리할 수 있으므로 전반적인 오류를 방지할 수 있습니다. 수식이 시트 전체에 분산되어 있으면 단 하나의 실수도 잡아내기가 매우 어려울 수 있습니다.

다음은 MAP 함수를 사용하여 간단한 할인을 계산하는 예입니다. B 열에 는 가격이, C 열에 는 할인율(백분율)이 표시됩니다.

=MAP(B2:B5, C2:C5, LAMBDA(price, discount, price * (1-discount)))

 

람다 함수 덕분에 수식이 얼마나 읽기 쉬운지 주목해 보세요. 람다 함수가 없었다면 첫 번째 할인에 대한 수식은 다음과 같이 알아보기 힘든 형태로 나타나서 읽는 사람이 셀 참조의 의미를 추측해야 했을 겁니다.

=B2 * (1-C2)

 

MAP 함수를 사용하면 단계별 할인도 훨씬 쉽게 이해할 수 있습니다. 물론 간결함은 다소 떨어지지만, 맥락에 맞게 사용한다면 장황한 표현이 항상 나쁜 것만은 아닙니다. 엑셀을 어느 정도 사용해 본 사람이라면 아래 수식이 어떤 역할을 하는지 쉽게 알 수 있을 것입니다.

=MAP(A2:A50, LAMBDA(price, IF(price > 100, price * 0.85, price * 0.95)))

 

5. 고급 데이터 정리

muo

 

엑셀 사용자들이 싫어하는 지루한 작업들이 많은데, 그중 가장 큰 것 중 하나가 바로 원시 데이터 정리입니다. 데이터 정리를 하다 보면 종종 보조 열이나 중첩 수식을 사용해야 하는데, 그 후에 다시 채워 넣어야 하는 과정이 정말 싫습니다. 데이터 양이 늘어나면 수식도 확장해야 하는데, 만약 잊어버리면 오류가 발생할 수 있습니다.

예를 들어, 제품 목록에서 제품 이름의 대소문자와 앞뒤 공백이 일관되지 않은 경우를 생각해 보세요. 이러한 현상은 일반적으로 데이터가 여러 소스에서 가져온 경우에 발생합니다. 텍스트를 표준화하려면 아래와 같은 수식을 사용한 다음 아래로 채우기 기능을 활용하면 됩니다.

=PROPER(TRIM(A2))

 

하지만 여기서 문제는 수동 채우기 방식과 수식 오류 발생 위험에서 비롯됩니다. MAP 함수를 사용하면 이러한 문제를 손쉽게 해결하고 통합 문서를 깔끔하게 유지할 수 있습니다.

=MAP(A2:A1000, LAMBDA(text, PROPER(TRIM(text))))

 

이렇게 하면 고정된 텍스트가 전체 범위에 자동으로 확장되므로 드래그할 필요가 없습니다.

 

마치며

MAP 함수는 재고 관리, 할인 계산, 정리되지 않은 데이터 정리 등 다양한 용도로 활용할 수 있습니다. MAP 함수는 스프레드시트 규모에 맞춰 확장 가능한 단 하나의 수식으로 이 모든 작업을 처리합니다.