# 기본 제공 수식

## Content

셀에서는 내장 수식을 사용할 수 있습니다. 수식을 추가하려면 [formula](/spreadjs/api/v19/classes/GC.Spread.Sheets.CellRange#formula) 메서드나 [setFormula](/spreadjs/api/v19/classes/GC.Spread.Sheets.Worksheet#setFormula) 메서드를 사용하면 됩니다. 또한 `referenceStyle` 속성을 통해 참조 스타일을 지정할 수 있습니다.
다음 코드 예시는 **Workbook**에서 `referenceStyle` 속성을 설정하는 방법을 보여줍니다.

```javascript
spread.options.referenceStyle = GC.Spread.Sheets.ReferenceStyle.R1C1;
//spread.options.referenceStyle = GC.Spread.Sheets.ReferenceStyle.A1;
```

다음 코드 예시는 **formula** 메서드를 사용하는 방법입니다.

```javascript
activeSheet.setValue(0,0,1);
activeSheet.setValue(0,1,2);
activeSheet.setValue(0,2,10);
activeSheet.getCell(1,1).formula("=SUM(A1:C1)");
```

셀이나 범위에서 수식을 삭제하려면 두 가지 주요 방법이 있습니다:

1. `clear()`**:** [GC.Spread.Sheets.Worksheet.clear()](/spreadjs/api/v19/classes/GC.Spread.Sheets.Worksheet#clear) 또는 [GC.Spread.Sheets.CellRange.clear()](/spreadjs/api/v19/classes/GC.Spread.Sheets.CellRange#clear) 메서드를 통해 호출합니다. 이 방법은 수식과 계산된 결과를 모두 삭제하여 셀을 비웁니다.
2. `setFormula()`**:** `setFormula()` 메서드를 호출하고 수식 인자로 `null`을 전달합니다. 이렇게 하면 수식만 삭제되고, 마지막으로 계산된 값은 유지됩니다.

> **참고:**
> 수식이 있는 셀에 새 값을 설정하려면 먼저 수식을 삭제해야 합니다. 그렇지 않으면 새 값이 적용되지 않습니다.

```javascript
sheet.setFormula(1, 1, '=SUM(A1,C3)');

sheet.setValue(1, 1, 7); // 실패

// 방법1
sheet.getRange(1, 1, 1, 1).clear(GC.Spread.Sheets.StorageType.data);
// 방법2
sheet.clear(1, 1, 1, 1, GC.Spread.Sheets.SheetArea.viewport, GC.Spread.Sheets.StorageType.data);
// 방법3
sheet.setFormula(1, 1, null);

sheet.getFormula(1, 1, GC.Spread.Sheets.SheetArea.viewport);
// 출력: null

sheet.setValue(1, 1, 7); // 성공
```