기타엑셀에서 람다(Lambda)함수를 사용해보자

2023-04-09

"람다(Lambda)"

람다식, 또는 람다 함수라 부른다.
프로그래밍 언어에서 사용되는 개념으로, 익명 함수(Anonymous functions)를 지칭하는 용어이다.


람다의 정의에서 볼 수 있듯, 람다는 익명함수를 의미합니다.

엑셀에서도 365버전 이상에서는 람다함수를 사용할 수 있게 되었습니다.

이번 포스팅에서는 람다함수의 기본 사용방법과, 활용법에 대해서 간단히만 다뤄보겠습니다


=LAMBDA(parameter_or_calaulation, ...)

엑셀에서 람다함수의 작성방식은 다음처럼 구성되어있습니다.

파라미터 혹은 계산식을 입력하라는 것인데, 선뜻 이것만으로는 이해하기 쉽지 않네요.

예제를 하나 들어볼게요


=LAMBDA(x,y,x+y)

두 값(x,y)을 합하는 아주 간단한 사용자 함수를 만들어봤습니다.

이 식 그대로 엑셀에 입력하면, #CALC! 오류가 납니다.

파라미터값을 입력하지 않아서 일어나는 오류일텐데요.

동작이 되게 하려면 다음처럼 써주면 됩니다.


=LAMBDA(x,y,x+y)(2,5)

내가 변수로 지정(parameter)한 x, y

그리고 x+y 계산식(calculation)을 입력해준뒤

뒤에 괄호를 열고 순차적으로 변수에 해당하는 값을 입력해주면 됩니다.

위 예제에서는 x에 해당하는 2, y에 해당하는 5가 입력되어 2+5 값인 7이 반환된걸 볼 수 있습니다.


자, 이번엔 우리가 만든 람다함수에 이름을 붙여보도록할게요.


수식 → 이름 정의 로 들어가서,

- 참조정의에 우리가 만든 함수"=LAMBDA(x,y,x+y)"를 넣고,

- 원하는 이름"합계"을 쓴뒤, 확인을 눌러줍니다.

- 설명은 생략해도 상관없습니다

그리고 엑셀로 돌아와서, =합계(3,2) 라고 쳐보죠.

그럼 결과값으로 5을 주는것을 알 수 있습니다.

이름 정의 기능을 통해서, 우리가 자주쓰는 함수를 정의해준 셈이네요.


예시로는 아주 간단한 두 개의 합 함수를 만들어봤지만, 사실 더 복잡하고 어려운 함수를 매번사용해야된다면 LAMBDA함수의 가치가 더 높아질 것 같네요.

=MID(MID(A1,FIND(" ",A1)+1,255),1,FIND(" ",MID(A1,FIND(" ",A1)+1,255))-1)

다음은, 첫번째 띄어쓰기와 두번째 띄어쓰기 사이의 글자를 가져오는 복잡한 수식입니다.


위에서 설명한 것처럼,

이름 정의로 second_value 라는 함수명을 붙여줬어요.



결과가 잘 나오는 것을 알수 있습니다.

앞으로는, 복잡한 수식을 일일히 쓸 필요없이 새로 정의한 함수명으로 편하게 함수를 쓸수있겠군요.

이처럼 람다함수는 함수의 재사용측면에서 매우 용이합니다.

람다함수는 함수의 재사용성 외에도, "재귀" 용법을 쓸 수 있다는 점에서 용이합니다.

다음에 LAMBDA 를 주제로 포스팅 올릴 땐, 그 내용에 대해 다뤄볼게요