엑셀

복잡한 수식에서 반복적으로 사용한 부분을 줄이는 LET 함수 이용법 예시

파란바람이 2026. 3. 18. 11:00
반응형

안녕하세요.

 

이메일로 김** 구독자(?)가 질문을 위해 보낸 파일에 있는 수식입니다.

 

2024.11.08-작업일 중 특정 요일이 며칠인지 확인하는 방법

 

작업일 중 특정 요일이 며칠인지 확인하는 방법

안녕하세요. 이메일로 김** 구독자(?, 유튜브를 보신다고는 했는데, 구독했는지는 밝히지 않으셨군요 ^^)가 질문하신 내용 중 일부입니다. 식대를 지불하는데, 특정 요일은 다른 금액이기 때문

hantip.net

 

참고 파일 다운로드

테스트2.xlsx
0.02MB

 

 

이 수식은 완성되지 않았고, 복잡한 수식을 소개하기 위해 사용합니다.

 

[G17] 셀 수식

=IF(B17="기존 근무자(변경)",((((NETWORKDAYS((DATEDIF(DATE(YEAR(D17),MONTH(D17),1),D17,"D")),(DATEDIF(C17,EOMONTH(C17,0)+1,"D")),$S$12:$S$37))-(NETWORKDAYS.INTL(D17,EOMONTH(D17,0),"1111011",$S$12:$S$37))-E17)*12000)+((NETWORKDAYS.INTL(D17,EOMONTH(D17,0),"1111011",$S$12:$S$37)-F17)*15000)),IF(B17="기존 근무자",(((((NETWORKDAYS((DATE(YEAR(C17),MONTH(C17),1)),EOMONTH(C17,0),$S$12:$S$37))-E17)-(NETWORKDAYS.INTL(C17,EOMONTH(C17,0),"1111011",$S$12:$S$37)))*12000)+((NETWORKDAYS.INTL(C17,EOMONTH(C17,0),"1111011",$S$12:$S$37)-F17)*15000)),IF(B17="중도 입사자",((((NETWORKDAYS((DATEDIF(DATE(YEAR(D17),MONTH(D17),1),D17+1,"D")),(DATEDIF(C17,EOMONTH(C17,0)+1,"D")),$S$12:$S$37))-(NETWORKDAYS.INTL(D17,EOMONTH(D17,0),"1111011",$S$12:$S$37))-E17)*12000)+((NETWORKDAYS.INTL(D17,EOMONTH(D17,0),"1111011",$S$12:$S$37)-F17)*15000)),IF(B17="중도 퇴사자",(((NETWORKDAYS((DATE(YEAR(D17),MONTH(D17),1)),DATE(YEAR(D17),MONTH(D17),DAY(D17)),$S$12:$S$37))-(NETWORKDAYS.INTL(C17,D17,"1111011",$S$12:$S$37))-E17))*12000)+(((NETWORKDAYS.INTL(C17,D17,"1111011",$S$12:$S$37)))-F17)*15000)))

 

이렇게 복잡한 수식은 한 번에 만드는 것이 아니라 오랫동안 궁리를 해서 조금씩 살을 붙여 만들어집니다.

업무 내용을 이해하지 못한다면 당연히 어떤 의미인지 알 수 없고, 심지어 만든 사람도 시간이 지나면 왜 이렇게 만들었는지 알 수 없는 경우도 종종 있습니다.

 

수식의 결과를 다시 사용하는 부분이 있어 똑 같은 수식이 반복되어 더 길고 복잡해 보입니다.

 

이때 LET 함수를 이용해서 수식을 줄일 수 있습니다.

LET 함수는 Microsoft 365, Excel 2021 그리고 Excel 2024 버전에서 사용할 수 있습니다.

 

 

[G36] 셀 수식

=LET(x,NETWORKDAYS.INTL(D17,EOMONTH(D17,0),"1111011",$S$12:$S$37),y,NETWORKDAYS.INTL(C17,EOMONTH(C17,0),"1111011",$S$12:$S$37),z,NETWORKDAYS.INTL(C17,D17,"1111011",$S$12:$S$37),d,DATE(YEAR(D17),MONTH(D17),1),q,DATEDIF(C17,EOMONTH(C17,0)+1,"D"),IF(B17="기존 근무자(변경)",(NETWORKDAYS(DATEDIF(d,D17,"D"),q,$S$12:$S$37)-x-E17)*12000+(x-F17)*15000,IF(B17="기존 근무자",(NETWORKDAYS(DATE(YEAR(C17),MONTH(C17),1),EOMONTH(C17,0),$S$12:$S$37)-E17-y)*12000+(y-F17)*15000,IF(B17="중도 입사자",(NETWORKDAYS(DATEDIF(d,D17+1,"D"),q,$S$12:$S$37)-x-E17)*12000+(x-F17)*15000,IF(B17="중도 퇴사자",(NETWORKDAYS(d,DATE(YEAR(D17),MONTH(D17),DAY(D17)),$S$12:$S$37)-z-E17)*12000)+(z-F17)*15000))))

 

 

도움이 되길 바랍니다.

반응형