엑셀 전문가 · 대화형 레슨 12개 중 2번째

고급 동적 배열 시스템

LET은 값에 한 번 이름을 붙였어요. LAMBDA는 그 아이디어를 재사용 가능한 수식으로 확장해요. 이름을 붙여 저장하고 열 전체에 한 번에 적용할 수 있죠. 복사해 붙여넣을 필요도 없고, 47행만 슬쩍 3행과 다른 수식을 쓰고 있을 위험도 없어요.

전문가대화형

화면 기준: Windows용 Microsoft 365 Excel. 연습은 어느 브라우저에서나 할 수 있어요.

글로 보는 튜토리얼엑셀 LAMBDA 함수와 동적 배열로 재사용 수식 만들기

실력 점검

먼저 해 보세요:

  • LET을 써 본 사람에게 LAMBDA가 무엇인지 한 문장으로 설명해요.
  • 입력 하나를 받아 분류 결과를 돌려주는 LAMBDA를 작성해요.
  • 수식을 아래로 복사하는 대신 MAP으로 범위 전체에 그 LAMBDA를 적용해요.
  • REDUCE와 SCAN이 서로 어떻게 다르게 동작하는지 설명해요.

이미 익숙하다면 E3 — 파워 쿼리 엔지니어링으로 건너뛰세요.

개념 익히기

이번 레슨에서 배울 내용

수식 설계 도구로서의 LET
단순히 깔끔하게 정리하는 것 이상이에요. LET은 수식의 논리를 읽기 쉬운 조각 단위로 설계하고 이름을 붙이는 곳이에요. 재사용 가능한 무언가로 감싸기 전 단계죠.
재사용 가능한 논리를 위한 LAMBDA
LAMBDA(x, IF(x>=500,"Large","Small"))는 자리 표시자 입력 x를 받는 수식을 정의해요. LET으로 이름을 붙인 다음 기본 제공 함수처럼 호출하면 돼요.
MAP, SCAN과 REDUCE
MAP은 배열의 모든 값을 LAMBDA로 변환해요. SCAN은 배열을 차례로 훑으면서 단계마다 누적 결과를 남겨요. REDUCE도 같은 방식으로 훑지만 최종 결과 하나만 남겨요.
BYROW, BYCOL과 MAKEARRAY(사용 가능한 경우)
같은 아이디어를 실제 2차원 표 전체에 적용해요. 행마다 LAMBDA 하나(BYROW), 열마다 하나(BYCOL), 또는 그리드 전체를 처음부터 만들기(MAKEARRAY)예요. 이 시뮬레이터는 한 행 또는 한 열로 분산되는 결과만 지원하니, 이 함수들은 여기서 해 볼 거리가 아니라 실제 엑셀용 참고 자료로 봐 주세요.
분산을 고려한 설계
분산된 결과 전체를 #으로 참조해요. D2#은 "D2의 배열이 분산된 범위 전체"라는 뜻이라, 이를 바탕으로 만든 수식은 배열이 커지거나 줄어도 계속 제대로 동작해요.
수식 테스트 패턴
새 LAMBDA를 실제 열 전체에 적용하기 전에, 빈 연습용 셀에서 답을 이미 아는 사례 한두 개로 먼저 테스트해요. 함수를 배포하기 전에 테스트하는 것과 같은 감각이에요.
문법 읽는 법: LAMBDA(x, body)는 매개 변수 하나(이름은 마음대로)와 그것을 사용하는 수식을 받아요. MAP(range, LAMBDA(...))은 range의 값마다 그 LAMBDA를 한 번씩 실행하고 결과를 다시 분산해요. 배열이 들어간 모양 그대로 결과가 나와요.

엑셀에서 찾는 위치

수식›이름 정의 / 이름 관리자›참조 대상: =LAMBDA(…)

옆으로 밀어 창 전체를 볼 수 있어요.

  1. 1수식 › 이름 정의(또는 이름 관리자 › 새로 만들기).
  2. 2이 이름이 아무 셀에서나 부를 수 있는 함수가 돼요.
  3. 3참조 대상에 LAMBDA를 넣어요. 매개 변수가 먼저, 계산이 마지막.
  4. 4기본 함수처럼 불러요. MAP, SCAN, REDUCE, BYROW는 논리 목록에 있어요.
  5. 5먼저 셀에서 시험해요: =LAMBDA(p,r,p*(1+r))(B2,F1).

Microsoft 365용 Excel(Windows) 화면을 재현한 그림입니다. Mac, 웹용 Excel 또는 좁은 창에서는 리본 배치가 조금 다를 수 있습니다.

따라 만들기

아래에 거래 금액 여섯 개가 있어요. 재사용 가능한 LAMBDA를 하나 만들고, 세 가지 방식으로 적용하고 접어(fold) 보세요.

λ 재사용 가능한 수식 시스템
—
ƒx
D2부터 시작하세요. 금액을 "Large"(≥500) 또는 "Small"로 분류하는 LAMBDA에 이름을 붙이고, MAP으로 모든 금액에 적용하세요.

혼자 응용하기

재사용 가능한 수식 시스템 만들기

평소 업무에서 열 아래로 복사해 붙여넣는 계산을 하나 찾아보세요. 배송 등급 조회, 성적 보정, 연체료 규칙 같은 것이요. 이름 붙인 LAMBDA로 한 번만 작성하고 MAP으로 실제 열 전체에 적용한 다음, 모든 행이 예전에 복사해 붙여넣던 버전의 결과와 같은지 확인하세요.

이 레슨에서 틀린 부분을 찾았거나 제안이 있나요? 의견 보내기