"람다(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 를 주제로 포스팅 올릴 땐, 그 내용에 대해 다뤄볼게요
람다의 정의에서 볼 수 있듯, 람다는 익명함수를 의미합니다.
엑셀에서도 365버전 이상에서는 람다함수를 사용할 수 있게 되었습니다.
이번 포스팅에서는 람다함수의 기본 사용방법과, 활용법에 대해서 간단히만 다뤄보겠습니다
엑셀에서 람다함수의 작성방식은 다음처럼 구성되어있습니다.
파라미터 혹은 계산식을 입력하라는 것인데, 선뜻 이것만으로는 이해하기 쉽지 않네요.
예제를 하나 들어볼게요
두 값(x,y)을 합하는 아주 간단한 사용자 함수를 만들어봤습니다.
이 식 그대로 엑셀에 입력하면, #CALC! 오류가 납니다.
파라미터값을 입력하지 않아서 일어나는 오류일텐데요.
동작이 되게 하려면 다음처럼 써주면 됩니다.
내가 변수로 지정(parameter)한 x, y
그리고 x+y 계산식(calculation)을 입력해준뒤
뒤에 괄호를 열고 순차적으로 변수에 해당하는 값을 입력해주면 됩니다.
위 예제에서는 x에 해당하는 2, y에 해당하는 5가 입력되어 2+5 값인 7이 반환된걸 볼 수 있습니다.
자, 이번엔 우리가 만든 람다함수에 이름을 붙여보도록할게요.
수식 → 이름 정의 로 들어가서,
- 참조정의에 우리가 만든 함수"=LAMBDA(x,y,x+y)"를 넣고,
- 원하는 이름"합계"을 쓴뒤, 확인을 눌러줍니다.
- 설명은 생략해도 상관없습니다
그리고 엑셀로 돌아와서, =합계(3,2) 라고 쳐보죠.
그럼 결과값으로 5을 주는것을 알 수 있습니다.
이름 정의 기능을 통해서, 우리가 자주쓰는 함수를 정의해준 셈이네요.
예시로는 아주 간단한 두 개의 합 함수를 만들어봤지만, 사실 더 복잡하고 어려운 함수를 매번사용해야된다면 LAMBDA함수의 가치가 더 높아질 것 같네요.
다음은, 첫번째 띄어쓰기와 두번째 띄어쓰기 사이의 글자를 가져오는 복잡한 수식입니다.
위에서 설명한 것처럼,
이름 정의로 second_value 라는 함수명을 붙여줬어요.
결과가 잘 나오는 것을 알수 있습니다.
앞으로는, 복잡한 수식을 일일히 쓸 필요없이 새로 정의한 함수명으로 편하게 함수를 쓸수있겠군요.
이처럼 람다함수는 함수의 재사용측면에서 매우 용이합니다.
람다함수는 함수의 재사용성 외에도, "재귀" 용법을 쓸 수 있다는 점에서 용이합니다.
다음에 LAMBDA 를 주제로 포스팅 올릴 땐, 그 내용에 대해 다뤄볼게요