메뉴

MAP 함수

M365
지원 버전 자세히 보기
M365웹 엑셀

엑셀 MAP 함수는 배열의 각 요소에 같은 계산을 적용해 새 배열을 반환하는 함수입니다.

MAP 함수 예제 미리보기
예제 미리보기 크게 보기

인수 설명

=MAP(배열1, 계산식또는배열2, ...)
인수구분설명
배열1 필수
계산을 요소별로 적용할 첫 번째 배열입니다.
  • 여러 배열을 함께 계산할 때는 추가 배열을 마지막 LAMBDA 수식 앞에 차례로 지정해야 합니다.
계산식또는배열2 필수
추가 배열 또는 각 요소에 적용할 마지막 LAMBDA 계산식입니다.
  • 추가 배열은 마지막 LAMBDA 수식 앞에 차례로 지정해야 합니다. LAMBDA 수식의 매개변수 개수는 MAP 함수에 전달한 배열 개수와 같아야 합니다.
예제 시트
C2=MAP(A2:A4,LAMBDA(x,x*E2))
A
B
C
D
E
F
1
원본
곱셈결과
배수
2
2
8
4
3
4
16
4
6
24
5

수식을 입력한 셀자동으로 채워진 범위

A2:A4의 각 값에 배수를 곱한 배열이 C2:C4에 펼쳐집니다.

함수 개요

엑셀 MAP 함수는 배열의 각 요소를 LAMBDA 함수 에 하나씩 전달하고 계산 결과를 같은 모양의 동적 배열로 반환합니다. 원본 범위를 바꾸지 않고 할인율, 단위 변환, 조건 판정처럼 반복되는 계산을 한 번에 적용할 때 유용합니다.

=MAP({2;4;6},LAMBDA(x,x*3))각 숫자에 3을 곱합니다.
결과{6;12;18}

모든 요소를 최종값 하나로 누적하는 함수는 REDUCE 함수 입니다. 중간 누적값까지 펼치는 함수는 SCAN 함수 입니다. 행과 열 좌표로 새 배열을 만드는 함수는 MAKEARRAY 함수 입니다.

MAP 함수 간단 예제

1
할인 가격 배열 구하기

세 상품의 정가 {12000;25000;8000}에 10% 할인율을 적용합니다. 배열 리터럴을 사용하므로 별도 셀 입력 없이 결과를 재현할 수 있습니다.

=MAP({12000;25000;8000},LAMBDA(x,x*0.9))각 정가의 90%를 계산합니다.
결과{10800;22500;7200}
2
점수별 판정 문구 구하기

점수 {80;65;92}를 70점 기준으로 판정해 각 점수에 대응하는 문구를 반환합니다.

=MAP({80;65;92},LAMBDA(x,IF(x>=70,"통과","재검")))각 점수가 기준 이상인지 판정합니다.
결과{"통과";"재검";"통과"}
3
영문 사원 코드 정리하기

D2:D4 범위에는 사원 코드 {" ab-01 ";"cd-02 ";" Ef-03"}이 입력되어 있습니다. MAP 함수는 각 코드의 앞뒤 공백을 제거합니다. MAP 함수는 정리한 영문을 대문자로 바꿉니다.

=MAP(D2:D4,LAMBDA(x,UPPER(TRIM(x))))MAP 함수는 각 사원 코드에 TRIM 함수와 UPPER 함수를 적용합니다.
결과{"AB-01";"CD-02";"EF-03"}
4
변환 결과의 합계 구하기

숫자 {2;4;6}에 각각 3을 곱한 배열을 만든 뒤 SUM 함수로 합산합니다.

=SUM(MAP({2;4;6},LAMBDA(x,x*3)))요소별 계산 결과를 하나의 합계로 결합합니다.
결과36
5
상품별 판매 금액 구하기

B2:B4 범위에는 상품별 수량 {2;5;3}이 입력되어 있습니다. C2:C4 범위에는 같은 상품의 단가 {12000;8000;15000}이 입력되어 있습니다. MAP 함수는 같은 행의 수량과 단가를 곱해 상품별 판매 금액을 반환합니다.

=MAP(B2:B4,C2:C4,LAMBDA(x,y,x*y))MAP 함수는 같은 행의 수량과 단가를 곱합니다.
결과{24000;40000;45000}

그 외 주의사항

MAP 함수와 LAMBDA 함수는 M365 버전에서만 제공됩니다. LAMBDA를 지원하지 않는 구버전 Excel에서는 #NAME? 오류가 발생합니다.

MAP 함수의 배열 개수와 LAMBDA 수식의 인수 개수가 맞지 않으면 #VALUE! 오류가 반환될 수 있습니다.

여러 배열을 매핑할 때는 서로 대응하는 요소를 계산할 수 있도록 배열 크기가 동일해야합니다.

MAP 결과는 동적 배열로 펼쳐집니다. 결과 범위에 기존 값이나 병합된 셀이 있으면 #SPILL! 오류가 발생합니다.

댓글 0
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
스크랩 완료