인수 설명
=MAP(배열1, 계산식또는배열2, ...)
- 여러 배열을 함께 계산할 때는 추가 배열을 마지막 LAMBDA 수식 앞에 차례로 지정해야 합니다.
- 추가 배열은 마지막 LAMBDA 수식 앞에 차례로 지정해야 합니다. LAMBDA 수식의 매개변수 개수는 MAP 함수에 전달한 배열 개수와 같아야 합니다.
수식을 입력한 셀자동으로 채워진 범위
함수 개요
엑셀 MAP 함수는 배열의 각 요소를 LAMBDA 함수 에 하나씩 전달하고 계산 결과를 같은 모양의 동적 배열로 반환합니다. 원본 범위를 바꾸지 않고 할인율, 단위 변환, 조건 판정처럼 반복되는 계산을 한 번에 적용할 때 유용합니다.
=MAP({2;4;6},LAMBDA(x,x*3))각 숫자에 3을 곱합니다.모든 요소를 최종값 하나로 누적하는 함수는 REDUCE 함수 입니다. 중간 누적값까지 펼치는 함수는 SCAN 함수 입니다. 행과 열 좌표로 새 배열을 만드는 함수는 MAKEARRAY 함수 입니다.
MAP 함수 간단 예제
세 상품의 정가 {12000;25000;8000}에 10% 할인율을 적용합니다. 배열 리터럴을 사용하므로 별도 셀 입력 없이 결과를 재현할 수 있습니다.
=MAP({12000;25000;8000},LAMBDA(x,x*0.9))각 정가의 90%를 계산합니다.점수 {80;65;92}를 70점 기준으로 판정해 각 점수에 대응하는 문구를 반환합니다.
=MAP({80;65;92},LAMBDA(x,IF(x>=70,"통과","재검")))각 점수가 기준 이상인지 판정합니다.D2:D4 범위에는 사원 코드 {" ab-01 ";"cd-02 ";" Ef-03"}이 입력되어 있습니다. MAP 함수는 각 코드의 앞뒤 공백을 제거합니다. MAP 함수는 정리한 영문을 대문자로 바꿉니다.
=MAP(D2:D4,LAMBDA(x,UPPER(TRIM(x))))MAP 함수는 각 사원 코드에 TRIM 함수와 UPPER 함수를 적용합니다.숫자 {2;4;6}에 각각 3을 곱한 배열을 만든 뒤 SUM 함수로 합산합니다.
=SUM(MAP({2;4;6},LAMBDA(x,x*3)))요소별 계산 결과를 하나의 합계로 결합합니다.B2:B4 범위에는 상품별 수량 {2;5;3}이 입력되어 있습니다. C2:C4 범위에는 같은 상품의 단가 {12000;8000;15000}이 입력되어 있습니다. MAP 함수는 같은 행의 수량과 단가를 곱해 상품별 판매 금액을 반환합니다.
=MAP(B2:B4,C2:C4,LAMBDA(x,y,x*y))MAP 함수는 같은 행의 수량과 단가를 곱합니다.그 외 주의사항
MAP 함수와 LAMBDA 함수는 M365 버전에서만 제공됩니다. LAMBDA를 지원하지 않는 구버전 Excel에서는 #NAME? 오류가 발생합니다.
MAP 함수의 배열 개수와 LAMBDA 수식의 인수 개수가 맞지 않으면 #VALUE! 오류가 반환될 수 있습니다.
여러 배열을 매핑할 때는 서로 대응하는 요소를 계산할 수 있도록 배열 크기가 동일해야합니다.
MAP 결과는 동적 배열로 펼쳐집니다. 결과 범위에 기존 값이나 병합된 셀이 있으면 #SPILL! 오류가 발생합니다.