구글시트에는 ARRAYFORMULA 라는 함수가 있습니다. 말 그대로 배열(ARRAY) 수식(FORMULA)을 사용할 수 있도록 해 줍니다.
구글시트의 ARRAYFORMULA 함수는 Microsoft 365 또는 엑셀 2021 버전부터 사용할 수 있는 동적 배열수식과 기능이 아주 비슷합니다. 엑셀에서는 수식 자체만 사용하면 배열수식이 되는데 구글시트에서는 ARRAYFORMULA 함수를 사용해야 배열수식을 사용할 수 있는 차이점이 있습니다.
엑셀 동적 배열수식
구문(Syntax)
=ARRAYFORMULA(배열_수식)
인수로 입력한 수식을 배열 수식으로 만들어준다.
인수
- 배열_수식: 배열 수식
판매금액 계산하기
ARRAYFORMULA 함수를 사용하지 않고 판매금액 계산
아래 그림과 같이 판매 데이터가 있을 때 ARRAYFORMULA 함수를 사용하지 않고 판매금액(단가 * 수량)을 구하려면 [E5] 셀부터 [E12] 셀까지 수식을 각각 입력해야 합니다.
=C5*D5
=C6*D6
=C7*D7
...
ARRAYFORMULA 함수로 판매금액 계산
이번에는 위와 동일한 결과를 구하기 위해 ARRAYFORMULA 함수로 바꿔서 수식을 입력해 보겠습니다.
[판매금액계산] 시트의 [E16] 셀에 다음과 같이 셀 범위를 참조하여 판매수량과 단가를 한 번에 곱하는 방식으로 수식을 입력합니다.=ARRAYFORMULA(C16:C23*D16:D23)
[E16] 셀에만 수식을 입력했지만 결과가 [E16] 셀부터 [E23] 셀까지 한 번에 구해졌습니다.
ARRAYFORMULA 함수를 사용하면 수식을 한 번만 입력해도 여러 셀에 결과가 반환되고 계산속도가 빠른 등 장점이 많습니다.
ARRAYFORMULA 함수안에 IF 함수 결합
앞에서는 단가에 판매수량을 곱하는 단순한 수식을 사용했지만 ARRAYFORMULA 함수와 구글시트 함수와 결합하여 사용할 수 있습니다.
ARRAYFORMULA 함수안에 IF 함수를 중첩하여 학생의 성적이 80점 이상이면 '합격', 80점 미만이면 '불합격'으로 표시해 보겠습니다.
[성적처리] 시트의 [D5] 셀에 다음 수식을 입력합니다.=ARRAYFORMULA(IF(C5:C14>=80,"합격","불합격"))
[D5] 셀에만 수식을 입력했지만 결과가 [D5] 셀부터 [D14] 셀까지 한 번에 구해졌습니다.
SUMIF 함수로 조건별 합계 계산
ARRAYFORMULA 함수를 사용하지 않고 계산
ARRAYFORMULA 함수를 사용하지 않고 거래처별 판매금액 합계를 구하려면 [C18] 셀부터 [C20] 셀까지 수식을 각각 입력해야 합니다.
=SUMIF($C$5:$C$12,B18,$E$5:$E$12)
=SUMIF($C$5:$C$12,B19,$E$5:$E$12)
=SUMIF($C$5:$C$12,B20,$E$5:$E$12)
ARRAYFORMULA 함수로 계산
이번에는 ARRAYFORMULA 함수안에 SUMIF 함수를 중첩하여 거래처별 판매금액 합계를 구해보겠습니다.
[SUMIF] 시트의 [C24] 셀에 다음 수식을 입력합니다.=ARRAYFORMULA(SUMIF(C5:C12,B24:B26,E5:E12))
[C24] 셀에만 수식을 입력했지만 결과가 [C24] 셀부터 [C26] 셀까지 한 번에 구해졌습니다.
VLOOKUP 함수로 상품명 찾기
ARRAYFORMULA 함수를 사용하지 않고 찾기
ARRAYFORMULA 함수를 사용하지 않고 상품코드별 '상품명'을 찾하려면 다음과 같이 [C20] 셀부터 [C24] 셀까지 수식을 각각 입력해야 합니다.
=VLOOKUP(B20,$B$5:$D$14,2,FALSE)
=VLOOKUP(B21,$B$5:$D$14,2,FALSE)
=VLOOKUP(B22,$B$5:$D$14,2,FALSE)
...
ARRAYFORMULA 함수로 찾기
이번에는 ARRAYFORMULA 함수안에 VLOOKUP 함수를 중첩하여 상품코드별 '상품명'을 찾아보겠습니다.
[VLOOKUP] 시트의 [C28] 셀에 다음 수식을 입력합니다.=ARRAYFORMULA(VLOOKUP(B28:B32,B5:D14,2,FALSE))
[C28] 셀에만 수식을 입력했지만 결과가 [C28] 셀부터 [C32] 셀까지 한 번에 구해졌습니다.
관련 글

