웹사이트 검색

엑셀에서 LAMBDA를 사용하여 확장 가능하고 재사용 가능한 함수를 만드는 방법


만약 여러분이 같은 엑셀 로직을 여러 곳에서 반복해서 작성하거나, 일부를 재사용하기 위해 긴 수식을 작성한 적이 있다면, 혼자가 아닙니다. 스프레드시트가 커짐에 따라 수식은 점점 더 복잡해지고 관리하기 어려워집니다. 엑셀의 LAMBDA 함수는 한 번 로직을 정의하고 필요할 때마다 재사용할 수 있게 함으로써 이를 변화시킵니다.

LAMBDA 함수는 Microsoft 365용 Excel(Windows 및 Mac), Excel 2024(Windows 및 Mac), 그리고 웹용 Excel에서 사용할 수 있습니다.

같은 로직을 여러 곳에서 다시 작성하면 숨겨진 오류가 발생할 수 있습니다

워크북이 커질수록 유지 관리가 더 어려워집니다

엑셀을 정기적으로 사용하다 보면 한 가지 패턴을 발견하게 됩니다: 동일한 논리가 여러 곳에서 나타나는 경향이 있습니다. 때로는 시트 전체에 복사되기도 하고, 때로는 새로운 상황에 맞게 약간 다르게 재구성되기도 합니다.

처음에는 모든 것이 잘 작동합니다. 하지만 시간이 지나면서 작은 차이들이 생깁니다. 한 버전의 수식은 약간 다른 범위를 참조하고, 다른 버전은 업데이트되지만 다른 곳의 복제본은 업데이트되지 않습니다. 겉으로 보기에는 아무 문제가 없어 보이지만, 출력값이 일치하지 않게 되고 이제 무엇이 변경되었는지 알아내기 위해 여러 탭에서 논리를 추적하게 됩니다.

LAMBDA가 이러한 문제를 해결하는 방법은 다음과 같습니다.

LAMBDA는 표준 수식을 사용자 정의 함수로 변환합니다

Excel 논리가 구조화되는 방식을 변경합니다

LAMBDA는 엑셀 수식을 재사용 가능한 함수로 바꿉니다. 워크북 여기저기에 로직을 복사하는 대신, 한 번 정의하고 필요할 때마다 재사용할 수 있습니다.

람다에는 두 부분이 있습니다: 매개변수(입력)와 계산(이 입력에 대해 수행되는 논리):

=LAMBDA(parameter1, parameter2, ..., calculation)

가장 단순하게, 하나의 매개변수를 가진 LAMBDA는 이렇게 보일 수 있습니다:

=LAMBDA(x, x*1.2)

x는 결국 함수에 입력할 셀이나 값을 나타내는 자리 표시자입니다. 이 자체로 이 수식은 실제로 #CALC! 오류를 발생시키는데, 논리는 있지만 계산할 것이 없기 때문입니다. 셀에서 테스트하려면 괄호 안에 입력값을 추가하여 즉시 ‘호출’해야 합니다:

=LAMBDA(x, x*1.2)([@Price])



실제 가치는 이름을 지정할 때 나타납니다. Excel의 이름 관리자(수식 탭 또는 Ctrl+F3를 통해)를 사용하면 해당 논리에 이름을 지정한 다음, 내장 함수처럼 호출할 수 있습니다:

=ADD_TAX([@Price])





이제 네이티브 Excel 도구처럼 작동합니다—한 번 정의하면 어디서나 재사용할 수 있습니다. 세율이나 규칙을 조정해야 할 때 가장 중요합니다: 한 곳에서만 변경하면 모든 인스턴스가 자동으로 업데이트됩니다.

LAMBDA는 일반적인 일상 스프레드시트 문제를 해결합니다

가장 큰 효과를 위해 작은 패턴에 집중하세요

LAMBDA는 단지 고급 사용자나 복잡한 모델을 위한 것이 아닙니다. 그 가치는 대부분 일상적인 스프레드시트 작업에서 나타나며, 동일한 로직이 여러 번 나타나는 것을 쉽게 알 수 있습니다.

아래의 예제를 따라가면서 읽으려면, Excel 워크북의 무료 사본을 다운로드하세요. 링크를 클릭하면 화면 오른쪽 상단에서 다운로드 버튼을 찾을 수 있으며, 파일을 열면 각 예제를 별도의 워크시트 탭에서 확인할 수 있습니다.

예제 1: 계산 간소화

표준 승수는 쉽지만, 마진을 추가한 후 고정 처리 수수료를 더하는 것과 같은 다단계 계산은 테이블에 복사하면 복잡해집니다. LAMBDA를 미리 정의된 변수와 결합하면 계산 전체를 한 곳에서 관리할 수 있습니다.

시나리오: 비용을 기준으로 정가를 계산해야 합니다. 규칙은 25%의 마진을 적용한 후, 고정 $5.00의 처리 비용을 추가하는 것입니다. 정의된 변수는 다음과 같습니다: 셀 B2는 Margin으로 명명되고, 셀 B3는 HandlingFee로 명명됩니다.

세 개의 탭 규칙을 따르면, 변수들은 각자의 시트에 위치하게 됩니다. 그러나 여기에서는 예제를 더 쉽게 따라갈 수 있도록 같은 워크시트에 배치했습니다.

다음은 여러분이 따라야 할 단계입니다:

  1. 수식 탭에서 이름 관리자를 엽니다.
  2. 새로 만들기를 클릭하세요.
  3. 이름 필드에 GET_LIST_PRICE를 입력하고, 참조 필드에 =LAMBDA(cost, (cost * (1 + Margin)) + HandlingFee)를 입력합니다.
  4. 확인을 위해 확인 및 닫기를 클릭한 후, 리스트 가격 열의 첫 번째 셀에 =GET_LIST_PRICE([@Cost])를 입력하고 Enter를 누르세요. 이렇게 하면 다른 곳에서 수식을 다시 만들거나 복사할 필요 없이 정의한 논리를 사용하여 각 행의 리스트 가격을 계산할 수 있습니다.





나중에 마진을 30%로 하거나 처리 수수료를 7.00달러로 결정하면, 하나의 셀만 업데이트하면 되고, 변경 사항은 함수가 사용되는 모든 곳에 적용됩니다.

예제 2: 데이터 정리 및 형식 표준화

데이터는 거의 '바로 사용할 수 있는' 상태로 도착하지 않기 때문에, 여분의 공백이나 불일치하는 대소문자와 같은 문제를 해결하기 위해 여러 텍스트 함수를 자주 결합합니다. LAMBDA를 사용하면 이러한 정리 단계를 하나의 재사용 가능한 함수로 묶을 수 있습니다.

상황: 이름에 앞뒤 공백이 있거나 대문자와 소문자가 섞여 있는 상태로 연락처 목록을 정기적으로 가져옵니다. 이러한 이름을 새 열에서 표준화하고 싶습니다.

이것이 당신이 필요한 일회성 워크플로우입니다:

  1. 이름 관리자(수식 탭)에서 CLEAN_NAME이라는 새 이름을 만드세요.
  2. 논리를 사용하세요: =LAMBDA(text, PROPER(TRIM(text))).
  3. 데이터 표에서 함수를 적용하세요: =CLEAN_NAME([@Name]).




이제 데이터가 처리되는 방식에 대해 하나의 '진실의 출처'가 있습니다. 요구 사항이 변경되면(예: 모두 대문자로 전환) Name Manager에서 PROPER를 UPPER로 바꾸기만 하면 전체 통합 문서의 모든 이름이 즉시 자동으로 수정됩니다.

엑셀에서 작업을 실행하는 방법은 보통 하나 이상 있습니다. 예를 들어, Power Query와 Python을 사용하여 데이터를 표준화할 수도 있습니다. 핵심은 귀하의 워크플로우에 가장 적합한 방법을 선택하는 것입니다.

예제 3: 다단계 논리 단순화

복잡한 논리 검사는 보통 깊게 중첩된 IF 문이나 여러 보조 열이 필요합니다. LAMBDA를 사용하면 그 복잡성을 단일의 설명적인 이름으로 감쌀 수 있습니다.

시나리오: 배송 지연 일수와 주문 금액을 기준으로 배송 상태를 결정해야 합니다. 지연이 3일 이상이고 주문 금액이 100달러를 초과하면 '우선(Priority)'입니다. 그렇지 않으면 '일반(Standard)'입니다.

이것은 복잡해 보이지만 설정하는 데는 금방입니다:

  1. 수식 > 이름 관리자로 이동한 다음, CHECK_STATUS라는 새 함수를 만드세요.
  2. 매개변수와 로직을 정의하세요: =LAMBDA(days, value, IF(AND(days > 3, value > 100), "Priority", "Standard")).
  3. 추적 표에 새로운 사용자 지정 수식을 입력하세요: =CHECK_STATUS([@[Days Late]], [@[Order Value]]).




이렇게 하면 수식 입력줄이 깔끔하게 유지되며, 규칙이 모든 행에 정확히 동일하게 적용된다는 것을 확신할 수 있습니다. 임계값을 업데이트해야 하는 경우 이름 관리자에서 숫자를 간단히 편집하면 됩니다.

도우미 열은 여전히 유용합니다—계산 단계별로 필터링하고, 보고서에 슬라이서를 추가하며, 피벗테이블에 그룹화 및 분석을 위한 필드를 제공합니다. 항상 그렇듯이 데이터와 목표에 맞는 접근 방식을 선택하세요.


엑셀 작동 방식의 변화

엑셀에 LAMBDA가 도입되면서 소프트웨어는 단순한 데이터 그리드에서 훨씬 더 프로그래밍 환경에 가까운 형태로 변화했습니다. 논리를 일회성 계산이 아닌 재사용 가능한 구성 요소로 취급함으로써, 작업이 증가함에 따라 더 쉽게 관리하고 조정할 수 있는 워크북을 만들기 시작합니다.

기본적인 수식 복제를 넘어서는 순간, LAMBDA 헬퍼 함수를 사용하는 것은 그 논리를 더 큰 데이터셋에 확장하는 다음 단계입니다.

관련기사