0Pricing
Excel Formulas Academy · 강의

MAP과 REDUCE로 반복 처리하기

배열 전체에 LAMBDA를 적용해 값을 변환하거나 누적합니다.

MAP과 REDUCE로 반복 처리하기은(는) CoddyKit의 무료 Excel Formulas Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Excel Formulas Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Excel Formulas Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

코드 없이 반복 처리하기

범위의 각 값에 같은 계산을 적용하거나, 전체 범위를 하나의 숫자로 축약하고 싶을 때가 있습니다. 프로그래밍에서는 이를 반복문이라고 합니다. 최신 스프레드시트에서는 MAP과 REDUCE가 LAMBDA를 사용해 이 작업을 대신 수행합니다.

  • MAP은 배열의 각 요소를 새로운 요소로 변환합니다
  • REDUCE는 모든 요소를 하나의 누적 결과로 결합합니다

두 함수 모두 각 값에 대해 수행할 작업을 설명하는 LAMBDA를 받습니다. Microsoft 365와 Google Sheets에서 사용할 수 있습니다.

MAP의 작동 방식

MAP은 배열을 순서대로 살펴보며 각 항목에 LAMBDA를 적용하여 같은 크기의 새 배열을 만듭니다. LAMBDA의 매개변수에는 한 번에 하나의 요소가 전달됩니다.

형식은 다음과 같습니다. 배열과 각 값을 나타내는 매개변수를 가진 LAMBDA를 MAP에 전달합니다. MAP은 변환된 결과를 셀에 자동으로 펼칩니다.

=MAP(array, LAMBDA(value, calculation))

첫 번째 MAP 예

A2:A6에 가격 다섯 개가 있고 각각을 10퍼센트씩 올리고 싶다고 가정해 보겠습니다. MAP은 모든 값에 한 번에 인상률을 적용합니다.

LAMBDA 매개변수 p는 차례로 각 가격을 나타냅니다. MAP은 입력 셀마다 하나씩 총 다섯 개의 결과를 반환하며, 결과를 열 아래로 펼칩니다.

채우기 핸들을 끌거나 복사할 필요가 없습니다. 수식 하나로 전체 범위를 처리할 수 있습니다.

=MAP(A2:A6, LAMBDA(p, p*1.1))

두 배열과 함께 사용하는 MAP

MAP은 두 배열을 동시에 순서대로 처리할 수 있습니다. 이때 LAMBDA는 각 배열에서 하나씩 가져온 두 매개변수를 위치별로 대응시켜 받습니다.

여기서는 A2:A6의 수량에 B2:B6의 가격을 곱해 행별 합계를 구합니다. 매개변수 q는 각 수량에, pr은 각 가격에 대응합니다.

두 배열의 크기가 같아야 합니다. 그렇지 않으면 오류가 발생합니다.

=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))

REDUCE의 작동 방식

REDUCE는 배열을 하나의 값으로 축약합니다. 각 요소가 처리될 때마다 업데이트되는 누산기를 유지합니다.

REDUCE에는 누산기의 시작 값, 배열, 그리고 두 매개변수를 가진 LAMBDA가 필요합니다. 두 매개변수는 acc(현재까지의 합계)와 value(현재 요소)입니다. LAMBDA는 각 단계에서 새로운 누산기 값을 반환합니다.

=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))

첫 번째 REDUCE 예

REDUCE로 범위의 합을 구해 보겠습니다. 물론 SUM으로도 같은 작업을 할 수 있지만, REDUCE의 작동 원리를 분명하게 보여 줍니다.

누산기를 0에서 시작합니다. A2:A6의 각 값에 대해 LAMBDA가 해당 값을 acc에 더합니다. 마지막 요소를 처리하면 acc에 합계가 들어갑니다.

값이 10, 20, 30이라면 누산기는 0, 10, 30, 60으로 차례로 변하고 최종값은 60이 됩니다.

=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))

누적 곱에 REDUCE 사용하기

연산을 바꾸면 REDUCE로 새로운 작업을 수행할 수 있습니다. 모든 값을 곱하려면 누산기를 1에서 시작하고 각 단계에서 곱합니다.

이렇게 하면 곱을 계산할 수 있으며, 복리 성장 계수와 같은 작업에 유용합니다. 시작 값은 중요합니다. 합에는 0을, 곱에는 1을 사용해야 합니다. 각각의 중립적인 시작 값이기 때문입니다.

=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))

MAP과 REDUCE 결합하기

하나의 수식에서 MAP으로 변환하고 REDUCE로 요약할 수 있습니다. 흔한 작업 중 하나는 범위의 제곱을 더하는 것입니다.

여기서는 MAP이 각 값을 제곱한 다음, REDUCE가 0에서 시작해 그 값을 모두 더합니다. MAP의 결과가 REDUCE가 처리할 배열이 됩니다.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

Google Sheets의 MAP과 REDUCE

Google Sheets에는 두 함수가 모두 동일한 문법으로 제공됩니다. MAP은 각 요소에 LAMBDA를 적용하고, REDUCE는 시작 값과 배열, 두 매개변수를 가진 LAMBDA를 사용해 누적합니다.

Sheets에는 관련 도우미 함수인 SCAN도 있습니다. SCAN은 REDUCE와 비슷하지만 최종 결과만 반환하는 대신 모든 중간 누산기 값을 반환합니다. Excel에도 SCAN이 있습니다.

=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))

팁과 주의할 점

다음 몇 가지를 기억해 두세요.

  • MAP에서는 LAMBDA가 요소마다 하나의 값을 반환해야 합니다
  • REDUCE에서는 LAMBDA가 항상 새로운 누산기 값을 반환해야 하므로 잊지 마세요
  • 알맞은 시작 값을 선택하세요. 합에는 0, 곱에는 1, 텍스트 결합에는 빈 문자열을 사용합니다
  • 함께 전달하는 배열은 차원이 같아야 합니다

확실하지 않다면 먼저 단일 값에 인라인으로 LAMBDA를 테스트해 보세요.

각 함수를 사용하는 경우

각 입력에 대한 결과가 필요할 때는 MAP을 사용하세요. 예를 들어 모든 값에 인상률을 적용하거나 서식을 지정할 때 유용합니다.

여러 값을 하나로 결합하고 싶을 때는 REDUCE를 사용하세요. 사용자 지정 합계, 연결, 또는 직접 작성한 논리로 찾은 최댓값 등이 그 예입니다.

두 함수를 함께 사용하면 이전 스프레드시트에서는 하나의 수식으로 처리할 수 없었던 반복 작업도 표현할 수 있습니다.

빠른 확인

REDUCE를 얼마나 이해했는지 테스트해 보세요.

요약: MAP과 REDUCE를 사용한 반복 처리

LAMBDA 기반 함수를 사용해 배열을 반복 처리하는 방법을 배웠습니다.

  • MAP은 각 요소를 새로운 요소로 변환하여 배열을 반환합니다
  • REDUCE는 누산기를 사용해 배열을 하나의 값으로 축약합니다
  • 알맞은 시작 값을 선택하세요. 합에는 0, 곱에는 1을 사용합니다
  • MAP은 여러 배열을 대응시킬 수 있으며, MAP과 REDUCE를 결합하면 강력한 한 줄 요약을 만들 수 있습니다
  • SCAN은 모든 중간 단계를 보여 줍니다

다음에는 LAMBDA를 이름이 지정된 함수로 저장하여 통합 문서 전체에서 깔끔하고 재사용 가능한 수식으로 사용하는 방법을 배웁니다.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

자주 묻는 질문

“MAP과 REDUCE로 반복 처리하기” 강의는 무료인가요?

네 — “MAP과 REDUCE로 반복 처리하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Excel Formulas Academy 강의 전체를 잠금 해제할 수 있습니다. Excel Formulas Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“MAP과 REDUCE로 반복 처리하기”에서 뭘 배우나요?

배열 전체에 LAMBDA를 적용해 값을 변환하거나 누적합니다. 브라우저에서 직접 실행하는 실습 코드로 Excel Formulas Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Excel Formulas Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Excel Formulas Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“MAP과 REDUCE로 반복 처리하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Excel Formulas Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Excel Formulas Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. LET으로 단계 이름 지정하기
  2. LAMBDA로 사용자 지정 함수 정의하기
  3. MAP과 REDUCE로 반복 처리하기
  4. 이름이 지정된 LAMBDA로 더 깔끔한 수식 만들기
← Excel Formulas Academy(으)로 돌아가기