Web SDK

Именованные диапазоны

Именованные диапазоны позволяют назначать пользовательские имена ячейкам, диапазонам ячеек и формулам. Такие имена делают ссылки на данные понятнее, упрощают формулы и повышают читаемость и удобство сопровождения листа.

  • Повышение читаемости формул: именованные диапазоны делают формулы понятнее. Например, Amount вместо A1 + A2 + A3 яснее передаёт смысл формулы.
  • Упрощение сложных ссылок: именованные диапазоны упрощают ссылки на несколько ячеек и сложные диапазоны. Например, можно определить имя SalesData для диапазона A1:A10, а затем использовать SalesData непосредственно в формулах.
  • Централизованное управление областями данных: именованные диапазоны помогают управлять областями данных. При изменении диапазона достаточно обновить ссылку в его определении, не изменяя каждую формулу по отдельности.

Использование

Кнопка диспетчера имён находится рядом с полем имени в левом верхнем углу листа. Там можно просмотреть список всех именованных диапазонов и открыть диспетчер, чтобы просматривать, изменять и удалять их.

Чтобы использовать именованный диапазон в формуле, просто введите его имя. Например, если задано имя TotalSales, ссылка на этот диапазон в формуле будет выглядеть как =TotalSales.

Примечания

  • Уникальность имён: имена должны быть уникальными в пределах одного листа и не должны совпадать с другими именами или встроенными функциями.
  • Допустимые имена: имя не может начинаться с цифры и содержать пробелы или специальные символы, например !, @ или #. Если имя не соответствует правилам, система выведет ошибку.
  • Изменение именованных диапазонов: откройте панель редактирования «Задать имя», выберите нужное имя и измените его. Затем нажмите «ОК», чтобы сохранить изменения.
  • Удаление именованных диапазонов: выберите ненужное имя на панели «Задать имя» и нажмите «Удалить». После удаления связанные формулы станут недействительными.
  • Использование на разных листах: именованные диапазоны можно использовать на разных листах одной книги, однако имена должны оставаться уникальными. Одинаковые имена на разных листах могут привести к неоднозначным ссылкам.
  • Правила именования: используйте понятные имена и избегайте слишком коротких или расплывчатых названий, чтобы другим пользователям было проще понимать и сопровождать книгу.
  • Отладка формул: если при использовании именованных диапазонов возникают проблемы, проверьте правильность имён и ссылок на диапазоны, а также возможные конфликты имён.
  • Область действия: имя можно задать на уровне книги или листа. Имена уровня книги доступны во всей книге, а имена уровня листа — только на соответствующем листе.

Facade API

Полные определения типов Facade API доступны в справочнике Facade API.

Создание именованных диапазонов

Метод FWorkbook.newDefinedNameBuilder() создаёт построитель именованного диапазона и возвращает экземпляр FDefinedNameBuilder. С помощью цепочки методов можно сформировать объект ISetDefinedNameMutationParam для создания именованного диапазона.

Некоторые методы FDefinedNameBuilder:

МетодОписание
buildСоздаёт объект именованного диапазона
setNameЗадаёт имя
setFormulaЗадаёт формулу именованного диапазона
setRefЗадаёт ссылку на диапазон
setCommentЗадаёт комментарий
setScopeToWorksheetДелает имя доступным на указанном листе
setScopeToWorkbookДелает имя доступным во всей книге

Метод FWorkbook.insertDefinedNameBuilder() создаёт именованный диапазон, доступный во всей книге.

TypeScript
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() позволяет быстро создать именованный диапазон.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.insertDefinedName('MyDefinedName', 'Sheet1!$A$1')

Другие методы:

Получение именованных диапазонов

Метод FWorkbook.getDefinedName() возвращает именованный диапазон книги в виде экземпляра FDefinedName.

TypeScript
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() изменяет именованный диапазон книги.

TypeScript
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 также позволяет напрямую изменять конфигурацию именованного диапазона.

TypeScript
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() удаляет именованный диапазон из книги.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.deleteDefinedName('MyDefinedName')

Именованный диапазон также можно удалить напрямую через возвращённый экземпляр FDefinedName.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const definedName = fWorkbook.getDefinedName('MyDefinedName')console.log(definedName?.getFormulaOrRefString())// Delete the defined nameif (definedName) {  definedName.delete()}

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.