Menu

엑셀 LET 함수 사용법: 수식 일부에 이름 붙이기

=LET(total,SUM(B2:B6),IF(total>500,total*0.9,total))는 합계를 한 번 계산해 total이라는 이름을 붙이고 그 이름을 두 번 씁니다. 이름을 붙인 부분은 한 번만 계산되므로 LET은 긴 수식을 더 짧고 읽기 쉽고 빠르게 만듭니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=LET(total,SUM(B2:B6),IF(total>500,total*0.9,total))는 B2:B6을 한 번 더해 결과에 total이라는 이름을 붙이고, 그 이름을 두 번 씁니다. 한 번은 검사할 때, 한 번은 반환할 때입니다. LET이 없으면 SUM을 세 번 써야 합니다: =IF(SUM(B2:B6)>500,SUM(B2:B6)*0.9,SUM(B2:B6)).

500을 넘는 주문은 10% 할인
D2
ABCD
1OrderAmountTotal to pay
2A-101120580.5
3A-10295
4A-103210
5A-10480
6A-105140
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

주문 합계는 500을 넘는 645이므로 D2는 580.5를 보여 줍니다. B4를 50으로 바꾸면 합계가 기준보다 낮은 485로 떨어지므로 D2는 할인 없이 485를 보여 줍니다.

LET 구문

=LET(name1, value1, [name2, value2, ...], calculation)
  • 각 name은 직접 고른 단어이며, 그 뒤에 이름이 나타내는 value가 옵니다. 숫자, 범위, 수식이 될 수 있습니다.
  • 쌍은 126개까지 정의할 수 있습니다. 값은 앞에서 정의한 이름을 쓸 수 있습니다.
  • 마지막 인수는 이름을 써서 결과를 내는 calculation입니다.

LET은 Excel 2021, Excel 2024 또는 Microsoft 365가 필요합니다. Excel 2019 이하에서는 #NAME?이 표시됩니다. Google Sheets에도 같은 구문의 LET이 있습니다.

변수가 여러 개인 LET

이름을 쓰면 행마다 쓰는 수식이 문장처럼 읽힙니다. 여기서는 각 행이 소계를 구하고 100을 넘으면 10%를 할인합니다:

줄마다 할인
D2
ABCD
1ItemPriceQtyTo pay
2Pen2.51025
3Bag403108
4Lamp35270
5Mug815108
6Desk1501135
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

가방의 120은 108이, 머그컵의 120도 108이, 책상의 150은 135가 됩니다. 펜(25)과 램프(70)는 그대로입니다. 수식은 D2에 쓰고 아래로 채웠으며, subtotal은 행마다 다른 숫자를 뜻합니다.

이름은 앞의 이름을 바탕으로 만들 수 있습니다: =LET(x,2,y,x*3,x+y)는 x를 2로, y를 6으로 정하고 8을 반환합니다.

조회를 한 번 계산해 재사용하기

IF 안에 두 번 나오는 조회는 두 번 실행됩니다. LET은 한 번만 실행합니다. 다음은 가격에 20%를 더한 값을, 제품이 없으면 메시지를 반환합니다:

한 번 조회해 두 번 쓰기
F2
ABCDEF
1ProductRegionPriceLook forPrice + 20%
2AppleNorth1.2Pear1.8
3PearSouth1.5KiwiNot found
4CarrotEast0.8
5BreadNorth2.4
6MilkSouth1.1
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Pear는 찾을 수 있으므로 F2는 1.8을 보여 줍니다. Kiwi는 목록에 없어서 XLOOKUP이 네 번째 인수로 준 빈 텍스트를 반환하고 F3은 Not found를 보여 줍니다. A4에 Kiwi를 입력하면 F3이 그 가격에 20%를 더한 값으로 바뀝니다.

FILTER와 함께 쓰는 LET

LET은 필터링한 범위가 두 번 이상 필요한 동적 배열에서 가장 쓸모가 있습니다. 다음은 수식 하나에서 일치하는 행에 이름을 붙이고, 그 수를 세고, 매출 평균을 구합니다:

한 지역의 요약
F2
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120Summary3 reps, average 126.7
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

North에서는 "3 reps, average 126.7"을 보여 줍니다. F1에서 South를 고르면 "2 reps, average 87.5"가 나옵니다. INDEX(rows,0,3)은 필터링한 행의 세 번째 열을 가져옵니다. LET이 없으면 FILTER를 두 번 써야 합니다.

다른 달은 비운 월간 달력

SEQUENCE 페이지의 달력은 이웃한 달의 날도 보여 줍니다. LET으로 그달 1일과 날짜 격자에 이름을 붙인 뒤, 그달 밖의 날짜를 모두 비웁니다:

2026년 4월, 다른 달은 빈칸
A2
ABCDEFG
1SunMonTueWedThuFriSat
21234
3567891011
412131415161718
519202122232425
62627282930
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

DATE(2026,4,1)을 DATE(2026,5,1)로 바꾸면 격자가 5월로 다시 그려집니다. 그달 1일에 이름을 한 번만 붙였으므로 바꿀 날짜가 세 개가 아니라 하나뿐입니다.

연습: LET으로 배송비 계산하기

직접 해 보기
D2
ABCD
1OrderAmountTo pay
2A-101120
3A-10295
4A-103210
5A-10480
6A-105140
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: D2에서 B2:B6의 금액을 합하세요. 합계가 800 미만이면 배송비 25를 더하고, 아니면 합계를 반환합니다.

LET 이름 규칙과 오류

LET 오류는 대부분 이름에서 생깁니다:

  • 이름은 글자로 시작해야 하며 공백이 없어야 합니다. unit price는 실패하므로 unit_price나 unitPrice를 쓰세요.
  • 이름은 셀 주소처럼 보이면 안 됩니다. a1과 tax2026은 엑셀에서 셀 주소이므로(TAX는 열 이름) LET이 #NAME?으로 거부합니다. rate나 tax_2026은 됩니다.
  • 이름은 쓸 때마다 철자가 정확히 같아야 합니다. 쓰는 곳에서 오타가 나면 엑셀이 그 철자의 함수나 이름 범위를 찾으므로 #NAME?이 나옵니다.
  • 마지막 인수는 계산이어야 합니다. =LET(x,5)는 이름과 값은 있지만 반환할 것이 없으므로 엑셀이 받아들이지 않습니다.
  • 이름은 자신의 수식 안에만 존재합니다. 여러 셀에서 계산을 재사용하려면 대신 이름을 붙인 LAMBDA로 저장하세요.
=LET(a1,5,a1*2)          #NAME?  (a1 is a cell address)
=LET(rate,8%,100*rate)   8

자주 묻는 질문

엑셀에서 LET 함수는 무엇을 하나요?

수식 하나 안에서 값에 이름을 붙입니다. =LET(total,SUM(B2:B6),total*2)는 SUM(B2:B6)을 한 번 계산해 total이라 부르고 total에 2를 곱한 값을 반환합니다. 이름은 그 수식 안에만 존재합니다.

LET에서 변수를 여러 개 쓰려면 어떻게 하나요?

마지막 계산 앞에 이름과 값의 쌍을 더 넣습니다: =LET(price,B2,qty,C2,price*qty). 뒤의 값은 앞의 이름을 쓸 수 있으며, =LET(x,2,y,x*3,x+y)는 8을 반환합니다.

LET 수식이 #NAME?을 반환하는 이유는 무엇인가요?

엑셀에 LET이 없거나(Excel 2021이나 Microsoft 365가 필요), 이름을 쓰는 곳에서 철자가 틀렸거나, 허용되지 않는 이름이기 때문입니다. 예를 들어 a1이나 tax2026처럼 셀 주소로 보이는 이름이나 숫자로 시작하는 이름입니다.

LET을 쓰면 엑셀 수식이 빨라지나요?

그럴 수 있습니다. LET이 없으면 IF 안에 같은 XLOOKUP을 두 번 쓴 경우처럼 반복되는 식이 나올 때마다 계산됩니다. LET을 쓰면 한 번 계산하고 결과를 재사용합니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기