복잡한 수식에서 같은 계산이 여러 번 반복되면 수식이 길어지고 느려져요.
LET 함수를 사용하면 수식 안에서 중간 결과에 이름을 붙이고 재사용할 수 있습니다.
LAMBDA는 사용자 정의 함수를 수식으로 만드는 기능이에요.
반복적으로 사용하는 수식 패턴을 함수처럼 등록해서 재사용할 수 있습니다.
사용 가능 버전: Excel 365 전용
LET 함수 - 수식 안에서 변수 만들기
=LET(이름1, 값1, 이름2, 값2, ..., 계산식)
이름에 값을 할당하고, 마지막 인수인 계산식에서 그 이름을 사용해요.
기본 예제
=LET(
매출, B2,
원가, C2,
이익, 매출-원가,
이익/매출
)
매출=B2, 원가=C2, 이익=매출-원가를 정의하고, 마지막에 이익률(이익/매출)을 계산해요.
이렇게 하면 같은 계산(B2-C2)을 반복하지 않아도 됩니다.
LET이 필요한 상황
LET 없이:
=IF(VLOOKUP(A2,D:E,2,0)>300, VLOOKUP(A2,D:E,2,0)*1.1, VLOOKUP(A2,D:E,2,0)*0.9)
VLOOKUP이 3번 실행돼요. 느리고 읽기 어렵습니다.
LET 사용:
=LET(
매출, VLOOKUP(A2,D:E,2,0),
IF(매출>300, 매출*1.1, 매출*0.9)
)
VLOOKUP이 1번만 실행되고, 수식도 간결해져요.
LET 성능 이점
같은 계산이 수식 안에서 N번 반복되면, LET 없이는 N번 실행돼요.
LET으로 이름을 붙이면 1번만 계산하고 결과를 재사용합니다.
대량 데이터에서 VLOOKUP, INDEX+MATCH 같은 무거운 함수를 반복할 때 체감 차이가 생겨요.
LET 중첩 활용
변수를 여러 개 선언하고 이전 변수를 다음 변수에서 참조할 수 있어요.
=LET(
총매출, SUM(B2:B100),
목표, 10000,
달성률, 총매출/목표,
등급, IF(달성률>=1,"달성",IF(달성률>=0.8,"양호","미달")),
등급&" ("&TEXT(달성률,"0%")&")"
)
결과 예: "양호 (85%)"
LAMBDA 함수 - 사용자 정의 함수 만들기
=LAMBDA(매개변수1, 매개변수2, ..., 계산식)
LAMBDA는 매개변수를 받아서 계산 결과를 반환하는 함수를 만들어요.
이름 관리자에 등록하면 일반 함수처럼 사용할 수 있습니다.
LAMBDA 등록 순서
예: 세후 금액을 계산하는 함수 만들기 (세율 10%)
- [수식] → [이름 관리자] (Ctrl+F3) → [새로 만들기]
- 이름: 세후금액
- 참조 대상: =LAMBDA(금액, 금액*(1-0.1))
- [확인]
이제 어디서든 사용 가능:
=세후금액(1000)
결과: 900
LAMBDA 매개변수 여러 개
세율을 외부에서 받는 버전:
이름: 세후계산
참조 대상: =LAMBDA(금액, 세율, 금액*(1-세율))
=세후계산(1000, 0.1)
결과: 900
=세후계산(1000, 0.22)
결과: 780
LAMBDA + LET 조합
LAMBDA 안에서 LET을 사용하면 더 복잡한 로직도 가능해요.
이름: 성과등급
참조 대상: =LAMBDA(매출, 목표,
LET(
달성률, 매출/목표,
IF(달성률>=1.2,"S",IF(달성률>=1,"A",IF(달성률>=0.8,"B","C")))
)
)
=성과등급(450, 400)
결과: "A" (달성률 112.5%)
LAMBDA를 셀에서 직접 사용
이름 관리자에 등록하지 않고, 셀에서 직접 LAMBDA를 호출할 수도 있어요.
MAP, REDUCE, SCAN 같은 배열 함수와 조합할 때 사용합니다.
예: MAP 함수와 함께 각 셀에 함수 적용
=MAP(B2:B10, LAMBDA(x, IF(x>=300,"달성","미달")))
B2:B10의 각 값에 대해 LAMBDA를 실행하고 결과 배열을 반환해요.
SEQUENCE 함수 - 연속 숫자/날짜 생성
LAMBDA와 자주 함께 쓰이는 함수예요.
=SEQUENCE(행수, [열수], [시작값], [증가값])
=SEQUENCE(10) → 1~10 세로 배열
=SEQUENCE(5, 1, 0, 2) → 0,2,4,6,8
=SEQUENCE(12, 1, DATE(2025,1,1), 30) → 30일 간격 날짜 12개
동적 배열로 결과가 자동으로 펼쳐져요 (17편의 스필 개념).
자주 하는 실수 / 주의사항
1. LET의 이름에 공백, 셀 주소 형태 사용 불가
이름 규칙은 20편의 이름 관리자와 동일해요.
"월 매출"(공백), "A1"(셀 주소)은 사용할 수 없습니다.
2. LET의 마지막 인수가 반드시 계산식이어야 함
LET은 이름-값 쌍 뒤에 최종 계산식이 와야 해요.
이름-값만 나열하고 끝내면 오류가 납니다.
3. LAMBDA를 이름 관리자에 등록해야 함수처럼 사용 가능
셀에 =LAMBDA(x, x*2)만 입력하면 #CALC! 오류가 나요.
LAMBDA를 호출하려면 이름 관리자에 등록하거나, MAP/REDUCE 등과 함께 사용해야 합니다.
4. Excel 365 전용
LET, LAMBDA, MAP, SEQUENCE 모두 Excel 365에서만 작동해요.
2019 이하 버전에서는 사용할 수 없습니다.
관련 함수 안내
LAMBDA와 함께 쓰이는 고급 함수: MAP(각 요소에 함수 적용), REDUCE(누적 계산), SCAN(중간 결과 포함 누적), MAKEARRAY(배열 생성), BYROW/BYCOL(행/열 단위 처리).
다음 글에서는 SEQUENCE와 RANDARRAY, 그리고 실무에서의 배열 함수 조합 패턴을 다룹니다.
'엑셀' 카테고리의 다른 글
| 엑셀 XLOOKUP 심화 - 다중 조건 검색과 고급 활용 (0) | 2026.03.03 |
|---|---|
| 엑셀 SEQUENCE RANDARRAY 사용법 - 배열 생성과 함수 조합 패턴 (1) | 2026.03.02 |
| 엑셀 SWITCH CHOOSE 함수 사용법 - 다중 조건 분기 (0) | 2026.03.02 |
| 엑셀 파워쿼리 기초 - 데이터 정제 자동화 입문 (0) | 2026.02.27 |
| 엑셀 단축키 빠른 실행 도구 모음 정리 - 작업 속도 올리기 (0) | 2026.02.27 |