정의된 이름
정의된 이름은 셀, 셀 범위 또는 수식에 사용자 지정 이름을 할당하는 기능입니다. 이름을 지정하면 데이터를 더 직관적으로 참조하고 수식을 간소화할 수 있으며, 워크시트의 가독성과 유지보수성, 전문성을 높일 수 있습니다.
- 수식 가독성 향상: 정의된 이름을 사용하면 수식을 더 쉽게 이해할 수 있습니다. 예를 들어
A1 + A2 + A3대신Amount를 사용하면 수식의 의미가 더 명확해집니다. - 복잡한 참조 간소화: 여러 셀이나 복잡한 범위를 참조할 때 정의된 이름으로 참조를 간소화할 수 있습니다. 예를 들어
A1:A10을SalesData로 정의하고 수식에서SalesData를 직접 사용할 수 있습니다. - 데이터 영역의 통합 관리 지원: 정의된 이름을 사용하면 데이터 영역을 더 효율적으로 관리할 수 있습니다. 데이터 범위가 변경되어도 모든 수식을 하나씩 수정할 필요 없이 정의된 이름의 참조만 업데이트하면 됩니다.
사용법
이름 관리자 진입점은 시트 왼쪽 위 이름 상자 옆에 있습니다. 여기서 정의된 모든 이름의 목록을 확인하고 이름 관리자에 접근할 수 있습니다. 이름 관리자에서는 정의된 이름을 확인하고 편집하거나 삭제할 수 있습니다.
수식에서 정의된 이름을 사용할 때는 이름을 그대로 입력하면 됩니다. 예를 들어 TotalSales라는 이름을 정의했다면 수식에서 =TotalSales를 사용하여 해당 범위를 참조할 수 있습니다.
참고 사항
- 이름의 고유성: 정의된 이름은 동일한 워크시트 내에서 고유해야 하며 다른 이름이나 기본 제공 함수와 충돌할 수 없습니다.
- 이름의 유효성: 정의된 이름은 숫자로 시작할 수 없으며 공백이나 특수 문자(예:
!,@,#등)를 포함할 수 없습니다. 입력한 이름이 규칙에 맞지 않으면 시스템에 오류가 표시됩니다. - 정의된 이름 업데이트: 기존 정의된 이름을 수정하려면 "이름 정의" 편집 패널을 다시 열고 수정할 이름을 선택하여 편집합니다. 변경한 후 "확인"을 클릭하여 저장합니다.
- 정의된 이름 삭제: 정의된 이름이 더 이상 필요하지 않으면 "이름 정의" 편집 패널에서 해당 이름을 선택하고 "삭제" 버튼을 클릭합니다. 삭제 후에는 관련 수식이 더 이상 유효하지 않습니다.
- 워크시트 간 사용: 정의된 이름은 동일한 통합 문서의 여러 워크시트에서 사용할 수 있지만 이름의 고유성에 주의해야 합니다. 서로 다른 워크시트에 같은 이름을 정의하면 참조가 혼동될 수 있습니다.
- 명명 규칙: 다른 사용자가 쉽게 이해하고 유지보수할 수 있도록 의미 있는 이름을 사용하고 지나치게 짧거나 모호한 이름은 피하는 것이 좋습니다.
- 수식 디버깅: 정의된 이름을 사용할 때 문제가 발생하면 이름이 올바른지, 참조 범위가 정확한지, 이름 충돌이 있는지 확인할 수 있습니다.
- 사용 범위: 정의된 이름은 통합 문서 수준 또는 워크시트 수준으로 설정할 수 있습니다. 통합 문서 수준 이름은 통합 문서 전체에서 사용할 수 있고, 워크시트 수준 이름은 특정 워크시트 내에서만 사용할 수 있습니다.
Facade API
전체 Facade API 타입 정의는 Facade API에서 확인할 수 있습니다.
정의된 이름 만들기
FWorkbook.newDefinedNameBuilder()는 정의된 이름 빌더를 만들고 FDefinedNameBuilder 인스턴스를 반환합니다. 메서드 체이닝을 사용하여 정의된 이름을 만드는 데 필요한 ISetDefinedNameMutationParam 객체를 생성할 수 있습니다.
다음은 FDefinedNameBuilder의 일부 멤버 메서드입니다.
| 메서드 | 설명 |
|---|---|
| build | 정의된 이름 객체를 빌드합니다 |
| setName | 정의된 이름을 설정합니다 |
| setFormula | 정의된 이름의 수식을 설정합니다 |
| setRef | 정의된 이름의 참조 범위를 설정합니다 |
| setComment | 정의된 이름의 주석을 설정합니다 |
| setScopeToWorksheet | 정의된 이름을 특정 워크시트에서 사용할 수 있도록 설정합니다 |
| setScopeToWorkbook | 정의된 이름을 통합 문서 전체에서 사용할 수 있도록 설정합니다 |
FWorkbook.insertDefinedNameBuilder() 메서드를 사용하여 통합 문서 전체에서 사용할 수 있는 정의된 이름을 만들 수 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()const definedNameParam = fWorkbook.newDefinedNameBuilder() .setName('MyDefinedName') .setRef('Sheet1!$A$1') .setComment('A reference to A1 cell in Sheet1') .build()fWorkbook.insertDefinedNameBuilder(definedNameParam)FWorkbook.insertDefinedName() 메서드를 사용하여 정의된 이름을 빠르게 만들 수 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.insertDefinedName('MyDefinedName', 'Sheet1!$A$1')기타 메서드:
FWorksheet.insertDefinedName(): 특정 워크시트에서 사용할 수 있는 정의된 이름을 만듭니다.
정의된 이름 가져오기
FWorkbook.getDefinedName() 메서드를 사용하여 통합 문서의 정의된 이름을 가져올 수 있으며, FDefinedName 인스턴스를 반환합니다.
const fWorkbook = univerAPI.getActiveWorkbook()const definedName = fWorkbook.getDefinedName('MyDefinedName')console.log(definedName?.getFormulaOrRefString())if (definedName) { definedName.setName('NewDefinedName')}기타 메서드:
FWorkbook.getDefinedNames()메서드는 통합 문서에 정의된 모든 이름을FDefinedName[]배열로 반환합니다.FWorksheet.getDefinedNames()메서드는 이 워크시트에서 사용할 수 있는 모든 정의된 이름을FDefinedName[]배열로 반환합니다.
정의된 이름 수정하기
FWorkbook.updateDefinedNameBuilder() 메서드를 사용하여 통합 문서의 정의된 이름을 수정할 수 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()const definedName = fWorkbook.getDefinedName('MyDefinedName')console.log(definedName?.getFormulaOrRefString())// Modify the defined nameif (definedName) { const newDefinedNameParam = definedName.toBuilder() .setName('NewDefinedName') .setRef('Sheet1!$A$2') .build() fWorkbook.updateDefinedNameBuilder(newDefinedNameParam)}FDefinedName 인스턴스를 사용하여 정의된 이름의 구성을 직접 수정할 수도 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()const definedName = fWorkbook.getDefinedName('MyDefinedName')console.log(definedName?.getFormulaOrRefString())// Modify the defined nameif (definedName) { definedName.setName('NewDefinedName') definedName.setRef('Sheet1!$A$2')}정의된 이름 삭제하기
FWorkbook.deleteDefinedName() 메서드를 사용하여 통합 문서의 정의된 이름을 삭제할 수 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.deleteDefinedName('MyDefinedName')반환된 FDefinedName 인스턴스를 사용하여 정의된 이름을 직접 삭제할 수도 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()const definedName = fWorkbook.getDefinedName('MyDefinedName')console.log(definedName?.getFormulaOrRefString())// Delete the defined nameif (definedName) { definedName.delete()}이 가이드는 어떠셨나요?