Lambda함수에서 매개변수는 옵션이므로 대괄호 사이에 매개변수를 입력하고, isOmitted함수와 같이 사용해서 입력하지 않은 경우와 입력한 경우 처리 방법을 정의하면 됩니다.
1. Lambda 함수의 매개 변수를 옵션으로 지정하는 방법
가 사용 예 1
A와 B의 값을 더하는데, B를 입력하지 않으면 7을 더하고, 입력하면 A+B를 반환하도록 하려면
=Lambda(a, [b], if(isOmitted(b), a+7, a+ b)
라고, a는 필수 입력 요소이고, b는 대괄호 사이에 있기 때문에 선택적 입력 값이 됩니다.
그리고, If함수를 이용해서 isOmitted, 다시 말해 b입력이 생략됐다면, 입력이 안 됐다면 그다음 a+7을 반환하고, b가 입력되면 a+b를 반환하는 것입니다.
따라서, =Lambda(a, [b], if(isOmitted(b), a+7, a+ b))(A2)라고 a에 대한 값만 입력하면 17이 반환되고,
=Lambda(a, [b], if(isOmitted(b), a+7, a+ b))(A2, B2)라고 a와 b의 값을 모두 입력하면 25가 반환됩니다.
나. 사용 예 2
=LAMBDA(a,[b],IF(ISOMITTED(b),LEN(a)>=5,LEN(a)>=b))
위 수식은 a는 필수 입력 요소, b는 선택적 입력 요소인데, b가 입력되지 않으면 a의 길이가 5 이상인지 체크하고,
아니면 다시 말해 B의 값이 입력되면 a의 길이가 b이상인지 비교해서 True 또는 False값을 반환하는 것입니다.
아래와 같이 a에 해당하는 값만 A3라고 입력하면 A3의 길이가 6이기 때문에 5보다 커서 True가 반환됩니다.
그러나, a와 b의 값을 A3, B3이라고 모두 입력하면 A3셀의 길이는 6이고, B3셀의 길이는 8이기 때문에 False가 반환됩니다.
다. 사용 예 3
위 수식을 이름 관리자를 실행 후 입력하면 보다 이해하기 쉽게 수식을 사용할 수 있습니다. 그러나, 기본 값은 이름 관리자를 살펴봐야 알 수 있습니다.
수식 > 이름 관리자를 실행한 후 새로 만들기 버튼을 누르고,
이름에 길이비교,
참조 대상에 =LAMBDA(a,[b],IF(ISOMITTED(b),LEN(a)>=5,LEN(a)>=b))를 입력하고
확인 버튼을 누르고, 닫기 버튼을 누릅니다.
E5셀에
=길이비교(A3,B3)이라고 입력하고 엔터키를 누르는데,
함수명이 영문이 아닌 한글인 경우 인식이 잘 안돼서 '=길이'라고 입력해도 함수명이 표시되지 않고,
'=길이'까지 입력한 다음 백스페이스 키로 '이'를 지우니 '=길이비교'가 표시됩니다.
길이비교를 마우스로 더블 클릭하니 함수명과 매개 변수명 a와 [b]가 표시됩니다.
A3, B3이라고 입력한 후 괄호를 닫고 엔터키를 누르면 D3셀과 마찬가지로 False가 반환됩니다.
라. 사용 예 4
매개변수명 a와 b가 이해하기 어려우므로,
이름 관리자 창에서 편집 버튼을 누른 후 참조 대상에서 a와 b를 문자열1, 문자열2로 수정하면 아래와 같습니다.
수식을 참조 대상 칸에서 입력하는 것이 어려우므로 에디터에서 수정 후 복사해서 붙여 넣는 것이 편리합니다.
수식 입력줄의 B3 다음에 마우스 커서를 넣으니 매개 변수명이 문자열1, [문자열2]로 표시됩니다.
2. 매개 변수에 대한 설명 추가하기
가. 설명 입력하기
이름 관리자를 실행한 후 사다리꼴의 넓이를 계산하기 위한 수식을 Lambda 함수식으로 입력해 보겠습니다.
사다리꼴의 넓이를 구하는 식은 (윗변 + 밑변) * 높이 / 2입니다.
이름을 trapezoid라고 하고,
참조 대상에 =lambda(a,b,h, (a+b)*h/2)라고 입력하고,
설명란에 'a - 윗변의 길이, b - 밑변의 길이, h - 사다리꼴의 높이'라고 입력합니다.
설명은 Alt + Enter, Shift + Enter, Enter 키 등 Enter와 관련된 키를 모두 눌러도 줄 바꿈이 안되고 한 줄로만 입력됩니다.
그렇다고 '구하기 :' 다음에서 스페이스 바를 밀어 'a -' 이후 부분을 아래 줄로 밀면 설명이 보일 때도 한 줄로 보이기 때문에 오히려 이상합니다.
나. 매개 변수에 대한 설명 표시
함수명을 입력할 때만 위에서 입력한 (매개 변수에 대한) 설명이 표시되며,
함수명을 모두 입력하면 설명이 표시되지 않고 매개변수명만 표시되는 한계가 있습니다.
A6, B6, C6셀을 인수로 입력하면
(5+7)*6/2 = 36이 구해집니다.
※ 설명 입력란에서 스페이스 바를 밀어 'a -'을 아래 줄에 표시되도록 한 경우는
아래와 같이 중간에 공백이 들어가기 때문에 보기에 안좋습니다.
'Excel' 카테고리의 다른 글
중복된 항목 제거와 피벗 테이블 (0) | 2023.02.21 |
---|---|
피벗 테이블 필터에 숫자가 보이지 않을 때 (0) | 2023.02.20 |
Lambda 함수 매개변수 2개 이상인 경우(2) (0) | 2023.01.19 |
Lambda 함수 매개변수 2개 이상인 경우(1) (0) | 2023.01.18 |
수식을 이해하기 쉽게 만들기(2) - 이름관리자와 Lambda 함수 (2) | 2023.01.17 |