구글 스프레드시트

구글 스프레드시트의 Reduce와 Scan 함수

별동산 2024. 9. 11. 08:21
반응형

엑셀의 경우는 Microsoft 365 버전이상에서만 Reduce와 Scan 함수를 사용할 수 있는데,

 

구글 스프레드시트에서는 이런 최신 함수를  누구나 사용할 수 있으니 좋습니다.

 

1.  구글 스프레드시트의 Reduce 함수

 

가. 구문

엑셀에서는

=REDUCE([initial_value], array, lambda(accumulator, value, body))

라고 되어 있는데,

 

구글 스프레드시트는 문법은

REDUCE(초기_값, 배열_또는_범위, LAMBDA)

라고 되어 있는데

 

사용 예를 보면

REDUCE(5, A1:A3, LAMBDA(accumulator, current_value, accumulator+current_value))

라고 되어 있어 Lambda 함수의 인수에 대한 표시가 이해하기 쉽습니다.

 

accumulator는 누산기(누계)로서 초기값은 Reduce함수의 첫 번째 인수인 5가 되며,

current_value는 현재값으로서 Reduce함수의 두 번째 인수인 A1:A3를 하나씩 이동하면서 처리하므로 처리할 당시의 값이 됩니다.

 

accumulator+current_value는 수식의 예로서, 누산기에 현재값을 반복적으로 더해가는 것입니다.

 

나. 사용 예

예를 들어 A1셀 값이 3, A2셀 값이 5, A3셀 값이 7인 경우

C1셀에

=REDUCE(5,A1:A3,lambda(accumulator,current_value,accumulator+current_value))

라고 입력하고 엔터 키를 누르면 20이 구해집니다.

 

20이 구해지는 과정을 설명하면 아래와 같습니다.

 

초기 값은 5이고,

current_value는 처음에는 3이 되므로

accumulator+current_value = 5 + 3 = 8이 되고,

8이 accumulator로 전달됩니다.

 

그리고, 두 번째 current_value가 5이므로

8 + 5 = 13이 되고,

 

다시 13이 accumulator로 전달되고,

7이 current_value가 되므로

13 + 7 = 20이 나오는 것입니다.

 

위 수식에서 Lambda함수의 첫 번째 인수인 accumulator는 a로 바꿀 수 있고,

current_value는 c로 간단히 바꿔 사용할 수 있습니다.

 

2. 구글 스프레드시트의 Scan 함수

Scan함수는 Reduce함수와 구문은 같은데,

계산하는 단계별 값을 보여주는 함수입니다.

 

위 수식 =REDUCE(5,A1:A3,lambda(accumulator,current_value,accumulator+current_value))

에서 REDUCE를 scan으로 수정하고 엔터키를 누르면 인수를 누르라고 하는데, 다시 엔터키를 누르면

아래와 같이 단계별 값인 8, 13,20이 구해집니다.

 

따라서, Reduce함수의 동작 원리를 알고자 할 때 Scan 함수를 사용하면 유용합니다.

반응형