본문 바로가기
스트레스 없는 직장생활/직장인 엑셀 활용

똑같은 수식을 세 번 반복해서 쓰다가 알게 된 함수

by soar-good-moa100 2026. 10. 10.

얼마 전에 할인가를 계산하는 수식을 짜다가, 똑같이 복잡한 계산식을 한 수식 안에서 세 번이나 반복해서 써야 하는 상황이 있었습니다.

=IF(VLOOKUP(A2,가격표!A:C,3,0)*0.9>1000000, VLOOKUP(A2,가격표!A:C,3,0)*0.9, VLOOKUP(A2,가격표!A:C,3,0))

VLOOKUP으로 가격을 찾아오는 부분이 수식 안에 세 번이나 들어가 있는 게 보기에도 지저분하고, 나중에 범위를 수정해야 할 때도 세 곳을 다 고쳐야 해서 번거로웠습니다. 이걸 옆 팀 과장님께 보여드렸더니 "LET을 쓰면 한 번만 계산해두고 재사용할 수 있다"고 알려주셔서 그 자리에서 바로 고쳐봤습니다. 오늘은 이 LET 함수를 정리해보겠습니다.

LET의 기본 구조

=LET(이름1, 값1, 이름2, 값2, ..., 계산식)

값에 이름을 붙여서 먼저 정의해두고, 마지막에 그 이름들을 가지고 실제 계산을 하는 방식입니다. 앞서 다룬 수식을 LET으로 바꾸면 이렇게 됩니다.

=LET(가격, VLOOKUP(A2,가격표!A:C,3,0), 할인가, 가격*0.9, IF(할인가>1000000, 할인가, 가격))

VLOOKUP을 딱 한 번만 쓰고, 그 결과를 "가격"이라는 이름으로 저장해둔 다음, 할인가를 계산할 때도 그 이름을 그대로 가져다 쓰는 구조입니다. 처음 이렇게 고쳐보고 나니, 수식 길이는 비슷한데 읽기가 훨씬 편해져서 신기했던 기억이 납니다.

왜 한 번만 계산하는 게 중요한가

VLOOKUP처럼 범위가 큰 함수를 같은 수식 안에서 여러 번 쓰면, 엑셀이 그 계산을 매번 다시 처리합니다. 데이터가 몇 백 줄 정도면 체감이 잘 안 되지만, 제가 나중에 몇만 줄짜리 데이터에 비슷한 구조의 수식을 걸어봤을 때 계산 속도 차이가 꽤 느껴졌습니다. LET으로 한 번만 계산해두고 재사용하니 파일이 훨씬 가볍게 느껴졌습니다.

실무에서 차이 나는 지점

이전에 다뤘던 이름 정의와 비슷한 느낌이 있지만, 다른 점이 있습니다. 이름 정의는 통합 문서 전체에서 쓸 수 있는 고정된 이름이고, LET은 그 수식 안에서만 유효한 임시 이름입니다. 저는 처음엔 이 둘을 혼동했는데, 과장님이 "LET은 그 셀 안에서만 쓰는 메모 같은 거"라고 설명해주신 뒤로 구분이 됐습니다. 여러 수식에서 반복해서 써야 하는 공통값(환율, 세율 등)이라면 이름 정의가 맞고, 한 수식 안에서만 복잡한 계산을 정리하고 싶다면 LET이 맞는 상황입니다.

실무 예시: 여러 단계 계산을 LET으로 정리하기

제가 실제로 쓰고 있는 수식 중 하나는 이렇습니다.

=LET(
  매출, SUMIF(B:B,"영업팀",C:C),
  목표, 50000000,
  달성률, 매출/목표,
  IF(달성률>=1, "목표달성", TEXT(달성률,"0%")&" 진행중")
)

매출을 구하고, 목표와 비교해서 달성률을 계산하고, 그 결과에 따라 문구를 다르게 보여주는 단계를 각각 이름 붙여서 순서대로 쌓아가는 구조입니다. 예전 같으면 이 모든 계산을 한 줄에 억지로 눌러 담았을 텐데, LET으로 나눠보니 나중에 다시 봐도 어느 단계에서 뭘 계산하는지 바로 이해가 됐습니다.

추가 팁

  • LET도 최신 버전(마이크로소프트 365)에서만 작동합니다. 이전에 다룬 동적 배열 함수들과 마찬가지로, 오래된 버전에서는 #NAME? 오류가 납니다.
  • 이름은 자유롭게 지어도 되지만, 너무 짧게 지으면 나중에 헷갈립니다. 저는 처음에 "a", "b"처럼 짧게 지었다가 나중에 뭐였는지 헷갈려서, 지금은 "가격", "할인가"처럼 의미가 바로 보이는 이름으로 짓고 있습니다.
  • LET 안에서 앞서 정의한 이름을 다음 값 계산에 바로 쓸 수 있습니다. 위 예시에서 "달성률"을 계산할 때 앞서 정의한 "매출"과 "목표"를 그대로 가져다 썼듯이, 순서대로 쌓아가며 계산할 수 있다는 게 가장 큰 장점이었습니다.

LET은 복잡한 수식을 여러 단계로 나눠서, 각 단계에 이름을 붙여가며 정리할 수 있게 해주는 함수입니다. 같은 계산을 한 수식 안에서 반복해서 쓰고 계셨다면, 저처럼 LET으로 한 번 정리해보시길 추천드립니다. 수식이 길어지고 복잡해질수록 그 차이가 더 크게 느껴지실 겁니다.