# LAMBDA

## Content

이 함수는 사용자 정의 재사용 가능한 함수를 만들고 이름을 지정할 수 있으며, 다른 함수처럼 호출할 수 있습니다.

## 구문

`=LAMBDA([parameter1, parameter2, …,], calculation)`

## 인수

이 함수에는 다음 인수가 있습니다:

| 인수 | 설명 |
| --- | --- |
| *parameter* | [선택 사항] 함수에 전달하려는 값으로, 셀 참조, 문자열 또는 숫자 등이 될 수 있습니다. 최대 253개의 매개변수를 입력할 수 있습니다. |
| *calculation* | [필수] 실행하고 결과로 반환할 수식입니다. 반드시 마지막 인수여야 하며 결과를 반환해야 합니다. |

## 참고

* 잘못된 매개변수 개수 또는 253개를 초과하는 매개변수를 LAMBDA 함수에 제공하면 #VALUE! 오류를 반환합니다.
* 잘못된 인수 개수를 LAMBDA 함수에 전달하면 #VALUE! 오류를 반환합니다.
* LAMBDA 함수가 자기 자신을 순환 호출할 경우 #NUM! 오류를 반환합니다.
* 셀에서 LAMBDA 함수를 만들고 해당 셀에서 호출하지 않으면 #CALC! 오류를 반환합니다.

> **참고:** 람다 함수가 재귀적일 경우 최대 재귀 깊이는 브라우저에 따라 다릅니다.

## 데이터 유형

간결한 형식은 텍스트 값을 반환하며, 엄격한 형식은 입력과 같은 크기와 형태의 배열을 반환합니다.

## 예제

다음 코드는 LAMBDA 함수의 기본 사용법을 보여줍니다.

```JavaScript
//매개변수 하나를 사용하는 LAMBDA 함수 기본 사용법
sheet.setValue(1, 1, "Converted Temp");
spread.addCustomName('ToCelsius', 'LAMBDA(temp, (5/9) * (temp-32))');
sheet.setFormula(2, 1, 'ToCelsius(104)'); // 결과는 40
            
//매개변수 두 개를 사용하는 LAMBDA 함수 기본 사용법
sheet.setValue(1, 3, "Calculated Hypotenuse");
spread.addCustomName('Hypotenuse', 'LAMBDA(a, b, SQRT((a^2+b^2)))');
sheet.setFormula(2, 3, 'Hypotenuse(3, 4)'); // 결과는 5
```

아래와 같은 출력이 생성됩니다:
![image.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/image.2e12ee.png)

### Lambda 도우미 함수

SpreadJS는 7개의 새로운 LAMBDA 도우미 함수를 지원합니다. 이 함수들은 LAMBDA 함수를 매개변수로 받아 재사용 가능한 LAMBDA 함수 작성에 도움을 주며, 자체적으로도 독립적인 함수 역할을 합니다. 자세한 내용은 다음을 참조하세요:

1. [BYROW](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/byrow-function)
2. [BYCOL](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/bycol-function)
3. [ISOMITTED](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/isomitted-function)
4. [MAKEARRAY](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/makearray-function)
5. [MAP](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/map-function)
6. [REDUCE](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/reduce-function)
7. [SCAN](/spreadjs/docs/formulareference/FormulaFunctions/other-functions/scan-function)