8월 16, 2026

엑셀에서 VBA 없이 내로 만들어서 쓰는 커스텀 함수 MakeUseOf

매일 엑셀을 업무에 사용해보신 분이라면 누구나 공감하실 수 있는 지루했던 순간이 있습니다. 바로 매일 반복되어지는 반복되는 작업들, 혹은 똑같은 수식을 여러 시트에 복사해서 사용해야 했던 그 고민이죠. 한 번만 틀리면 다 깨지거나, 수식을 조금 수정하면 전체 시트에서 계산이 엉망이 되는 상황을 겪은 적이 있을 겁니다. 엑셀 사용자들이 VBA 를 두려워하며 꺼리는 이유는 여기에 숨어 있습니다. 하지만 최근 마이크로소프트 66 에서 제공하는 새로운 기능 덕분에 이 고민은 사라지고 있습니다.

바로 LAMBDA 함수입니다. 이 기능은 VBA 나 매크로 코딩 없이 엑셀 자체에서 제공하는 강력한 기능을 통해 사용자가 직접 원하는 수식을 정의하고 이름으로 부를 수 있게 만들어줍니다. 오늘 소개해 드릴 이야기는 바로 엑셀을 더 스마트하게 사용하기 위한 LAMBDA 로 커스텀 함수 만드는 방법과 실제 활용 사례에 대한 것입니다.

과거에는 엑셀에서 정말 단순한 계산이라도 반복되면 VBA 사용이 답이었는데, 그 방법은 참으로 복잡했습니다. 개발자 탭을 켜고 별도 코드 문서를 만들고 파일 저장 방식을 매크로 지원으로 바꿔야 하며, 파일을 열 때마다 보안 경고 창이 뜹니다. 이건 업무 도구로서는 무리가 있는 방법이지, 효율적인 해결책이 될 수 없습니다. LAMBDA 가 등장하면서 이러한 불편함은 자연스럽게 사라졌고, 누구나 쉽게 만들 수 있는 내만의 함수가 생겼습니다.

실제로 이 방법을 사용해 보니 생각보다 쉽게 만들 수 있고, 유지보수도 훨씬 간편해집니다. 먼저 엑셀 이름 관리자 (Name Manager) 에 들어가서 새 함수를 만듭니다. 여기서 ‘Refers to’ 란 부분의 공식을 LAMBDA 로 작성합니다. 예를 들어 판매 금액과 수수료율에 따라 커미션이 산출되는 로직이라면=LAMBDA(세금, 비율, 세금 * 비율) 과 같이 간단하게 씁니다. 처음에 기능을 만들 때 테스트를 위해 입력 값을 같이 넣어서 미리 결과를 확인한 뒤, 공식 입력창에 넣지 않은 순수 함수 정의만 저장에 사용하시면 됩니다. 이렇게 하면 이후 워크북 어디든 이름으로 불러온 수식처럼 사용할 수 있습니다.

제가 실제로 일상 업무에서 자주 활용하는 두 가지 함수도 소개해 드리겠습니다. 첫 번째는 판매 금액 단계별 분류입니다. 매번 IF 함수를 중첩해서 쓰는 대신,=LAMBDA(금액, IF(금액>=3000, “고”, “중”, “저”)) 처럼 정의한 뒤 SaleTier 라는 이름으로 저장합니다. 다음에 매출 데이터가 들어오면 이 함수 하나만 호출하면 자동으로 등급이 매겨집니다. 두 번째는 텍스트 정제 함수입니다. 외부에서 가져온 데이터에는 엉뚱한 공백이 있고 대소문자만 남아서 깔끔해야 할 때가 많습니다. 이때=LAMBDA(텍스트, PROPER(TRIM(텍스트))) 로 정의하고 TidyText 라는 이름으로 저장해 두면 한 번에 정리할 수 있습니다.

물론 LAMBDA 가 항상 답은 아닙니다. 한번만 하는 계산이나 파일 저장 등 복잡한 동작을 할 때는 매크로나 VBA 도 여전히 유리할 수 있습니다. LAMBDA 는 값만 계산하고 반환하는 기능이므로 파일 연동 기능이 없습니다. 하지만 그 지점 이후로, 똑같은 논리로 3 번 이상 반복하게 된다면 LAMBDA 가 훨씬 효율적입니다. 함수 하나만 수정하면 여러 시트가 자동으로 업데이트되는 것이니까요.

결론적으로 엑셀에서 LAMBDA 를 활용하면 VBA 등 복잡한 매크로 없이도 일상적인 계산 자동화는 가능합니다. 엑셀을 더 능숙하게 쓰고 싶다면 이번 기회에 이름 관리자에서 커스텀 함수를 하나 만들어보시는 것을 추천합니다. 단순한 수식으로 시작해 보세요, 당신의 업무 효율이 확 살아날 것입니다. 엑셀의 잠재력을 제대로 활용하려면 이런 작은 기능 변화를 두려워하지 말고 시도하는 것부터 시작되어야 하죠.


이 글은 MakeUseOf의 기사를 바탕으로 작성되었습니다.

엑셀에서 VBA 없이 내로 만들어서 쓰는 커스텀 함수 MakeUseOf