각 값에 LAMBDA를 적용하고 누적기의 총 값을 반환하여 배열을 누적 값으로 줄입니다.
구문
=REDUCE([initial_value], array, lambda(accumulator, value, body))
REDUCE 함수 구문에는 다음과 같은 인수와 매개 변수가 사용됩니다.
-
[initial_value] 누적기의 시작 값을 설정합니다.
-
array 줄여야 할 배열입니다.
-
lambda 배열을 줄이기 위해 호출되는 LAMBDA입니다. LAMBDA는 다음 세 가지 매개 변수를 사용합니다.
-
accumulator 합계가 계산되고 최종 결과로 반환된 값입니다.
-
value 배열의 현재 값입니다.
-
몸 배열의 각 요소에 적용된 계산입니다.
-
비고
initial_value 인수를 사용하여 누적기 매개 변수의 시작 값을 설정합니다. 예제 2에서 누적기를 곱하는 곳에서 값을 1으로 설정하여 0으로 곱하지 않게 합니다.
참고: initial_value 대한 값이 제공되지 않으면 배열의 첫 번째 값이 시작 값으로 사용됩니다.
오류
잘못된 LAMBDA 함수 또는 잘못된 수의 매개 변수를 제공하면 #VALUE!을(를) 반환합니다. "잘못된 매개 변수"라는 #VALUE! 오류가 반환됩니다.
예
예제 1: 제곱 값 합계
샘플 데이터를 셀 A1:C2에 입력한 다음 수식을 셀 D4에 복사합니다.
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
예제 2: 사용자 지정 "PRODUCTIF" 함수를 만들어 50보다 큰 값만 곱합니다.
셀 E1부터 "nums"라는 열이 하나 있는 "Table3"이라는 테이블을 만듭니다. 다음 수식을 셀 G2에 복사합니다.
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
예제 3: 짝수 값만 계산
셀 D1부터 "Nums"라는 열이 하나 있는 "Table4"라는 테이블을 만듭니다. 다음 수식을 셀 F2에 복사합니다.
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))