복잡한 엑셀 공식, 함수 하나로 해결! | LET 함수 기초-활용 완벽정리
엑셀 전문가가 되려면, 반드시 알아야 할 필수 함수! LET 함수의 기초부터 실전 활용 예제까지, 15분 총정리 영상으로 마스터하세요!✨
이 강의에서는 엑셀 LET 함수를 사용해 수식 안에 이름을 변수처럼 할당하고, 여러 단계로 나뉘던 계산을 함수 하나로 묶어 정리하는 방법을 다룹니다. SUMIF·SORTBY·HSTACK을 결합한 동적 정렬 보고서 예제와, LAMBDA 함수로 만든 커스텀 함수를 이름관리자에 등록해 실무에서 재사용하는 과정까지 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
LET 함수 기초 사용법
엑셀 LET 함수는 2021 버전부터 새롭게 추가된 '코드형' 함수입니다. 코딩처럼 사용할 이름(=변수)을 미리 할당한 뒤 수식 안에서 그대로 호출하는 방식이라, 복잡한 공식을 간결하게 정리하고 여러 단계에 걸쳐 처리하던 계산을 함수 하나로 묶어서 해결할 수 있습니다.
= LET (이름1,값1,이름2,값2, ... , 계산식)
- 이름과 값은 반드시 쌍으로 짝지어 작성해야 합니다.
- 마지막 인수에는 결과를 반환하는 계산식을 반드시 작성해야 합니다.
- 이름은 엑셀 이름관리자에서 유효하게 사용할 수 있는 이름이어야 합니다. 예를 들어 "A1"처럼 셀 주소로 이미 사용되는 표기는 LET 함수의 이름으로 지정할 수 없습니다.
- 성과급 공식 예제 : 예제파일을 실행한 후 LET 기초 시트로 이동합니다. 시트 오른쪽의 성과급 표에서 매출 합계가 $100,000 이상일 경우, 초과분의 10%를 계산하는 수식을 작성하겠습니다. N5셀을 선택한 후 아래 수식을 입력합니다.
=IF(SUM(L5:L9)>100000,(SUM(L5:L9)-100000)*10%,0)

- 수식을 입력하면 성과급으로 541.5가 계산됩니다.

- 이렇게 작성한 수식은 SUM 함수로 합계 범위를 매번 직접 선택해야 한다는 번거로움이 있습니다. 또한 매출 합계 범위가 변경되면 공식 안의 범위를 일일이 찾아 수정해야 하는데, 이런 상황에서 LET 함수를 사용하면 작업이 한층 수월해집니다.

- LET 함수 기초 예제 : N5셀에 작성한 기존 공식을 지운 뒤 LET 함수를 작성합니다. 먼저 아래와 같이 LET 함수에서 사용할 이름으로 '합계' 범위를 할당합니다.
=LET(합계,SUM(L5:L9),

- 이제 할당한 이름을 참조해 수식을 간결하게 작성할 수 있습니다. 아래와 같이 공식을 완성합니다.
=LET(합계,SUM(L5:L9),IF(합계>=100000,(합계-100000)*10%,0))

- 수식을 입력하면 이전과 동일한 결과 값인 541.5가 계산됩니다.

여러 단계 공식을 간소화, LET 함수 실전 예제
LET 함수는 복잡한 공식을 간결하게 정리하는 데 그치지 않고, 여러 단계에 걸쳐 계산된 결과를 한 번에 처리할 수 있다는 점에서 실무 활용도가 높습니다.
- 내림차순 집계 보고서 만들기 : 예제파일에서 LET 실전예제 시트로 이동합니다. 이번에는 각 지역별로 매출액이 높은 순서대로 정렬된 피벗테이블 보고서를 함수만으로 만들어 보겠습니다. M365 최신 버전을 사용 중이라면 아래 그림처럼 GROUPBY 함수 한 줄로 집계 보고서를 손쉽게 작성할 수 있습니다.
=SORT(GROUPBY(A2:A37,E2:E37,SUM,0,0),2,-1)

- 먼저 G2셀에 UNIQUE 함수를 사용해 지역 범위의 고유목록을 출력합니다.
=UNIQUE(A2:A37)

- H2셀에는 SUMIF 함수를 사용해 각 지역의 매출 합계를 계산합니다. 엑셀 2021 이후 버전에서는 동적 배열을 반환하는 시작셀 뒤에 해시(#) 기호를 붙여 동적 범위를 간편하게 참조할 수 있습니다.
=SUMIF(A:A,G2#,E:E)
오빠두Tip : 해시(#) 기호의 다양한 활용 예제는 아래 기초 영상 강의에서 자세하게 정리했습니다!👇
- 이제 지역 목록을 매출 합계 기준으로 정렬합니다. J2셀에 아래 수식을 입력하면 매출 합계가 큰 순서대로 정렬된 지역 목록이 출력됩니다.
=SORTBY(G2#,H2#,-1)

- K2셀에는 아래 수식을 입력해 내림차순으로 정렬된 합계 범위를 출력합니다.
=SORTBY(H2#,H2#,-1)
- 마지막으로 정렬된 지역과 합계 범위를 하나의 배열로 합쳐줍니다. J11셀을 선택한 뒤 아래와 같이 HSTACK 함수로 두 범위를 결합하면 매출액이 높은 순서대로 정렬된 피벗 보고서가 완성됩니다.
=HSTACK(J2#,K2#)

- LET 함수 공식 간소화 실습 : 이제 LET 함수를 활용해 지역별 매출 피벗 보고서를 만드는 과정을 한 번에 작성해 보겠습니다. 먼저 아래와 같이 LET 함수의 이름으로 "지역, 매출, 고유지역, 매출합계"를 정의한 뒤, HSTACK 함수로 병합한 배열을 출력합니다.
=LET(지역,A2:A37,
매출,E2:E37,
고유지역,UNIQUE(지역),
매출합계,SUMIF(지역,고유지역,매출),
HSTACK(고유지역,매출합계))
오빠두Tip : Alt + Enter로 줄바꿈을 추가하면 수식의 가독성을 한층 높일 수 있습니다. - 마지막으로 "정렬지역, 정렬매출" 합계 범위를 추가하고, HSTACK 함수로 병합한 배열을 출력하면 매출액 기준 내림차순으로 정렬된 피벗테이블 보고서가 함수 하나로 완성됩니다.
=LET(지역,A2:A37,
매출,E2:E37,
고유지역,UNIQUE(지역),
매출합계,SUMIF(지역,고유지역,매출),
정렬지역,SORTBY(고유지역,매출합계,-1),
정렬합계,SORTBY(매출합계,매출합계,-1),
HSTACK(정렬지역,정렬합계))
LET + LAMBDA 함수로 커스텀 함수 만들기
LET 함수와 함께 LAMBDA 함수를 활용하면 업무 효율을 한층 끌어올릴 수 있습니다. LAMBDA 함수는 복잡한 공식을 사용자 지정 커스텀 함수로 등록해주는 함수로, M365 버전에 새롭게 추가되었습니다. LAMBDA 함수를 활용하면 VBA 매크로나 JavaScript 없이 함수 공식만으로 누구나 커스텀 함수를 손쉽게 등록해 사용할 수 있습니다.
= LAMBDA (변수1,변수2, ..., 계산식)
- LAMBDA 함수는 PC에 설치된 M365 버전에서만 제공됩니다. 엑셀 이전 버전과 웹 버전 엑셀에서는 사용할 수 없으므로 주의합니다.
- LAMBDA 함수에 사용하는 변수의 이름은 엑셀 이름 범위와 동일한 규칙을 따릅니다. 예를 들어 "A1"처럼 셀 주소로 이미 사용되는 표기는 변수명으로 지정할 수 없습니다.
- Lambda 함수 사용해보기 : 예제파일에서 [LET 활용] 시트로 이동한 뒤, Q2셀에 작성된 LAMBDA 함수 공식에서 앞에 붙은 작은따옴표(')를 제외한 나머지 공식을 복사합니다.

- [수식] 탭 - [이름관리자]를 클릭하거나 단축키 Ctrl + F3을 눌러 이름관리자를 실행한 후 [새로 만들기] 버튼을 클릭합니다.

- 새 이름 대화상자가 실행되면 참조 대상에 복사한 공식을 붙여넣은 후 아래와 같이 이름과 설명을 작성합니다. 모든 항목을 작성한 뒤 [확인] 버튼을 클릭하면 함수 등록이 완료됩니다.
이름 : EASYFILTER
설명 : 여러 조건을 만족하는 데이터를 필터링합니다.
참조대상 : =LAMBDA(범위,단어,LET(범위,범위,단어,단어,FILTER(범위,ISNUMBER(SEARCH(단어,BYROW(범위,LAMBDA(A,CONCAT(A))))))))
- 이제 시트의 비어있는 셀을 선택한 뒤, 아래와 같이 EASYFILTER 함수를 사용해 데이터를 손쉽게 필터링할 수 있습니다.
오빠두Tip : FILTER + BYROW 함수로 필터링 자동화 공식을 만드는 전체 과정은 아래 멤버십 강의 전체 영상에서 확인하세요!
https://youtu.be/p60R_PsJaI8
어제부터 영상이 올라와 있어가지고 잘 봤습니다.
처음 보는 함수인데 엄청 유용한 것 같습니다.
=LET(x,"[x.xlsx]PO",XLOOKUP([@Style],[X.xlsx]PO!$D:$D,([X.xlsx]PO!$X:$X*[X.xlsx]PO!$Y:$Y+[X.xlsx]PO!$AB:$AB*[X.xlsx]PO!$AC:$AC),0,0,1))
x 를 "[x.xlsx]PO" 로 선언한 이유는 다른 시트를 동적으로 참조하기 위해서일까요?
만약 그러시다면 INDIRECT 함수를 사용하여 범위를 지정해야 합니다.
INDIRECT 함수 예제는 아래 링크를 참고해보시길 바랍니다.
엑셀 INDIRECT 함수 사용법 - 오빠두엑셀 (oppadu.com)
감사합니다.