엑셀 MAKEARRAY 함수는 지정한 행과 열 크기 만큼 계산된 배열을 반환하는 함수입니다.
=MAKEARRAY(행개수, 열개수, 계산식)
- 개수는 반드시 1 보다 큰 정수여야 합니다.
- 단순 합계(SUM), 평균(AVERAGE) 등 계산은 'short-form' 내장 함수로 계산할 수 있습니다.
- MAKEARRAY 함수의 LAMBDA 식은 다음과 같이 작성하며, 행과 열의 인덱스는 1부터 시작합니다.
=MAKEARRAY(행개수,열개수,LAMBDA(r,c, 수식))
엑셀 MAKEARRAY 함수는 사용자가 지정한 행과 열 개수 크기만큼 LAMBDA 수식으로 계산된 배열을 반환하는 함수입니다. 이 함수를 사용하면 다양한 패턴을 가진 테이블이나 행렬 데이터를 편리하게 생성할 수 있습니다.
합계(SUM)나 최대값(MAX)과 같은 단순한 계산은 short-form 형식으로 계산식을 입력할 수 있으며, 복잡한 계산이 필요할 경우 LAMBDA 함수를 사용합니다.
=MAKEARRAY(3,3,SUM)/ / 행과 열번호 합계가 계산된 3x3 크기의 배열을 생성합니다. =MAKEARRAY(3,3,PRODUCT)/ / 행번호 x 열번호 곱셈으로 계산된 3x3 크기의 배열을 생성합니다.
LAMBDA 함수의 인수는 행 번호(r)와 열 번호(c)가 사용되며, 번호는 1부터 시작합니다. 즉, 왼족 상단의 첫번째 셀은 (1,1) 이 됩니다.
=MAKEARRAY(3,3,LAMBDA(r,c,r+c)) / / 행번호 + 열번호 합계가 계산된 3x3 크기의 배열을 생성합니다. SUM과 동일합니다. =MAKEARRAY(3,3,LAMBDA(r,c,r*c))// 행번호 x 열번호 곱셈으로 계산된 3x3 크기의 배열을 생성합니다. PRODUCT와 동일합니다.
MAKEARRAY 함수에서 short-form 형식으로 제공하는 기본 계산식 목록은 다음과 같습니다.
- SUM(합계)
- AVERAGE(평균)
- MEDIAN(중앙값)
- COUNT(숫자개수)
- COUNTA(개수)
- MAX(최대값)
- MIN(최소값)
- PRODUCT(곱)
- ARRAYTOTEXT(텍스트변환)
- CONCAT(텍스트병합)
- STDEV(표준편차)
- VAR(분산)
- MODE(최빈값)
다음과 같이 함수를 작성하면, 1단부터 9단까지의 구구단 표를 만들 수 있습니다.
=MAKEARRAY(9,9,PRODUCT) / / 1단부터 9단까지 구구단표를 만듭니다.

아래와 같이 MAKEARRAY 함수를 작성하면 4행 x 3열의 좌석 배치도를 만들 수 있습니다. 각 셀에는 "좌석-0-0" 형식의 좌석번호가 표시됩니다.
=MAKEARRAY(4,3,LAMBDA(r,c,"좌석" & r & "-" & c)) / / 4행 x 3열의 좌석 배치도를 만듭니다.

다음과 같이 IF 함수와 MAKEARRAY 함수를 사용하면 무작위 더미 데이터를 생성할 수 있습니다. 1열에는 사원번호, 2열에는 랜덤 부서명, 3열에는 70~100 사이의 랜덤한 점수가 표시됩니다.
=MAKEARRAY(10, 3, LAMBDA(r,c, IF(c=1, "사원" & r, IF(c=2, CHOOSE(RANDBETWEEN(1,4), "영업팀", "마케팅팀", "개발팀", "인사팀"), RANDBETWEEN(70, 100))))) / / 1열에는 사원번호, 2열에는 무작위 부서명, 3열에는 랜덤 점수로 작성된 더미 데이터를 생성합니다.

다음과 같이 MAKEARRAY 함수를 작성하면 행+열 인덱스 합이 짝수인 경우 검은색 사각형, 홀수인 경우 흰색 사각형이 표시된 패턴 데이터를 만들 수 있습니다.
=MAKEARRAY(8, 8, LAMBDA(r, c, IF(MOD(r+c, 2)=0, "■", "□"))) / / 행+열 인덱스 합에 따라 다른 기호를 표시하는 패턴 데이터를 생성합니다.

MAKEARRAY 함수는 엑셀 2024 이후 및 M365 버전에서만 제공됩니다. 이전 버전에서 사용 할 경우 #NAME? 오류를 출력합니다.
행 개수나 열 개수가 0보다 작거나 숫자가 아닐 경우, 함수는 #VALUE! 오류를 반환합니다.
계산식이 잘못 되거나 LAMBDA 함수의 인수가 잘못 지정된 경우, 함수는 #VALUE! 오류를 반환합니다.
MAKEARRAY 함수는 결과로 분산 배열을 반환합니다. 따라서, 출력될 범위에 기존 다른 데이터가 있는 경우 #분산!(#SPILL!) 오류가 발생합니다.