Формулы
Формулы — одна из ключевых возможностей Univer. Они позволяют выполнять вычисления в ячейках. Поддерживаемые функции совместимы с Excel и включают математические, логические, текстовые функции, функции для работы с датами и многие другие.
Если книга содержит много формул, их вычисление может занять основной поток и снизить отзывчивость страницы. Рекомендуется выполнять вычисления формул в процессе Worker, чтобы уменьшить влияние на отрисовку и взаимодействие с пользователем. Подробнее о настройке см. в разделе Web Workers.
Настройка
Ниже приведены ссылки на параметры конфигурации плагинов формул:
| Плагин | Параметр конфигурации |
|---|---|
@univerjs/engine-formula | IUniverEngineFormulaConfig |
@univerjs/sheets-formula | IUniverSheetsFormulaBaseConfig |
initialFormulaComputing управляет вычислениями при загрузке книги. Если сохранённые результаты устарели, используйте CalculationMode.FORCED для пересчёта. В режиме предустановок этот параметр находится внутри formula.
Выберите свой режим и добавьте эти параметры в существующую инициализацию. Сохраните остальные плагины, язык, тему и контейнер; не регистрируйте один плагин дважды.
import { CalculationMode, UniverSheetsFormulaPlugin } from '@univerjs/sheets-formula'univer.registerPlugin(UniverSheetsFormulaPlugin, { initialFormulaComputing: CalculationMode.FORCED,})import { CalculationMode, UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import { createUniver } from '@univerjs/presets'const { univerAPI } = createUniver({ presets: [ UniverSheetsCorePreset({ formula: { initialFormulaComputing: CalculationMode.FORCED, }, }), ],})CalculationMode.FORCED: Пересчитывает все формулы.CalculationMode.WHEN_EMPTY: По умолчанию: вычисляет только ячейки с формулами без сохранённого значенияv.CalculationMode.NO_CALCULATION: Пропускает вычисления при инициализации.
Ссылки между книгами
Формула может суммировать в Report продажи из Sales.xlsx. В отличие от ссылки на другой лист той же книги, здесь указывается и книга-источник.
Синтаксис ссылок
| Сценарий | Пример | Источник |
|---|---|---|
| Другой лист той же книги | =SUM(Data!A1:A10) | Лист Data текущей книги |
| Диапазон другой книги | =SUM('[Sales.xlsx]Data'!A1:A10) | Лист Data книги Sales.xlsx |
| Таблица другой книги | =SUM(Sales.xlsx!SalesTable[Amount]) | Столбец Amount существующей таблицы SalesTable |
Sales.xlsx — имя книги, а не путь или URL. Запись формулы не читает файл, не скачивает Excel и не подключается к редактору на другой странице. Для структурированной ссылки сначала создайте соответствующую таблицу.
Ссылки на книги в одном экземпляре
При использовании базового движка загрузите обе книги в один экземпляр Univer и одну среду вычислений. Выполните пример после инициализации Sheets. В режиме плагинов также импортируйте расширения Facade, указанные на этой странице.
const source = univerAPI.createWorkbook({ id: 'sales-workbook', name: 'Sales.xlsx', sheetOrder: ['sales-data'], sheets: { 'sales-data': { id: 'sales-data', name: 'Data', rowCount: 100, columnCount: 20, cellData: { 0: { 0: { v: 100 } }, 1: { 0: { v: 200 } }, }, }, },}, { makeCurrent: false })const report = univerAPI.createWorkbook({ id: 'report-workbook', name: 'Report' })const resultCell = report.getActiveSheet().getRange('A1')resultCell.setFormula("=SUM('[Sales.xlsx]Data'!A1:A2)")const formula = univerAPI.getFormula()formula.executeCalculation()await formula.onCalculationResultApplied()console.log(resultCell.getValue()) // 300makeCurrent: false загружает источник, не меняя активную книгу. Сохраняйте source и report, чтобы не записать формулу в другую книгу после переключения.
Имена сравниваются без учёта регистра. Полное совпадение имеет приоритет; если его нет, игнорируются расширения Excel, например .xlsx и .xlsm. Отсутствующее или неоднозначное имя даёт #REF!. Используйте уникальные имена.
Привязка к постоянному ID источника
Чтобы связать имя в формуле с постоянным ID документа, используйте Pro-расширение @univerjs-pro/engine-formula. Настройте клиентскую лицензию, замените UniverFormulaEnginePlugin на UniverProFormulaEnginePlugin при инициализации и импортируйте Pro Facade. Не регистрируйте оба движка. Один импорт Facade не регистрирует плагин.
Пример использует книги выше в среде с настроенным Pro-движком:
import '@univerjs-pro/engine-formula/facade'const reference = univerAPI.getFormula().buildReference({ hostUnitId: report.getId(), unit: { unitId: source.getId(), formulaQualifier: 'Sales Source', }, target: { kind: univerAPI.Enum.FormulaReferenceType.SHEET_RANGE, sheetName: 'Data', range: { startRow: 0, endRow: 1, startColumn: 0, endColumn: 0 }, },})resultCell.setFormula(`=SUM(${reference})`)hostUnitId — ID книги с формулой, unit.unitId — постоянный ID источника, formulaQualifier — его публичное имя в формуле. Координаты начинаются с нуля и включают конечную границу.
buildReference() возвращает фрагмент без = и сохраняет привязку. Он не загружает источник и не запускает вычисления. Данные должны поступать из книги, загруженной в среду вычислений, или настроенного поставщика данных. Для написанной вручную или сгенерированной формулы сначала создайте привязку:
const formula = univerAPI.getFormula()const bound = formula.upsertExternalReference({ unitId: report.getId(), qualifier: 'Sales Source', sourceUnitId: source.getId(), sourceUnitType: univerAPI.Enum.UniverInstanceType.UNIVER_SHEET,})if (!bound) throw new Error('Could not bind Sales Source')resultCell.setFormula("=SUM('[Sales Source]Data'!A1:A2)")Повторная запись той же привязки идемпотентна. В qualifier не нужны скобки или кавычки. Положительные целые числа вроде 1 и 2 зарезервированы для слотов внешних ссылок Excel, а не ID документов. При импорте сохраняйте ресурсы внешних ссылок: одного текста формулы недостаточно.
Обновление, сохранение и выгрузка
После изменения источника через Facade запустите вычисления и дождитесь применения результатов перед чтением. Возврат из setFormula() или setValue() не означает завершения асинхронного расчёта.
const sourceSheet = source.getSheetBySheetId('sales-data')if (!sourceSheet) throw new Error('Source sheet not found')sourceSheet.getRange('A1').setValue(150)formula.executeCalculation()await formula.onCalculationResultApplied()console.log(resultCell.getValue()) // 350Используйте report.save() для сохранения полного снимка с ресурсами привязок. Сохранение только формул теряет соответствие имён и ID. Данные источника сохраняются и загружаются отдельно.
После выгрузки источника обычная ссылка на загруженную книгу больше не может его читать. Продолжение расчётов Pro-ссылок зависит от поставщиков данных и доступного кеша. Привязка не содержит данных и не гарантирует автономный расчёт. Старое значение на экране не доказывает актуальность результата.
Ненужную Pro-привязку можно удалить:
univerAPI.getFormula().removeExternalReference({ unitId: report.getId(), qualifier: 'Sales Source',})Удаление не стирает и не переписывает формулы. При следующем расчёте имя разрешается заново: может найтись загруженная книга с таким именем, иначе вернётся #REF!. Чтобы прекратить ссылку, измените или очистите и саму формулу. Полные параметры приведены в API ссылок FFormula.
Трёхмерные ссылки
Трёхмерная ссылка охватывает последовательные листы одной книги и отличается от ссылки между книгами.
=SUM(Jan:Mar!B2:C3)=SUM('Jan':'Mar'!B2)Диапазон включает Jan, Mar и все листы между ними в порядке книги, а не по алфавиту. После перестановки листов проверьте диапазон суммирования.
Поддерживаемые функции
Functions - (528)
| ARRAY_CONSTRAIN | Задает размер массива, в который будут помещены результаты. |
|---|---|
| FLATTEN | Объединяет все значения из одного или нескольких диапазонов в один столбец. |
| BETADIST | Возвращает интегральную функцию плотности бета-вероятности. Функция интегрального бета-распределения обычно используется для изучения вариации в процентах какой-либо величины, например, части дня, которую люди проводят у телевизора. |
| BETAINV | Возвращает обратную интегральную функцию плотности бета-вeроятности указанного бета-распределения. Иными словами, если вероятность = БЕТАРАСП(x;...), то БЕТАОБР(вероятность;...) = x. Бета-распределение используется при планировании для определения вероятного времени завершения работы, если заданы ожидаемое время завершения и его вариативность. |
| BINOMDIST | Возвращает отдельное значение биномиального распределения. Функция БИНОМРАСП используется в задачах с фиксированным числом тестов или испытаний, когда результатом любого испытания может быть только успех или неудача, испытания независимы, а вероятность успеха одинакова на протяжении всего эксперимента. Например, при помощи БИНОМРАСП можно вычислить, с какой вероятностью двое из трех следующих новорожденных будут мальчиками. |
| CHIDIST | Возвращает правостороннюю вероятность распределения хи-квадрат. Распределение χ2 связано с критерием χ2. Критерий χ2 используется для сравнения ожидаемых и наблюдаемых значений. Например, в генетическом эксперименте выдвигается гипотеза, что следующее поколение растений будет обладать определенной окраской. Сравнивая наблюдаемые результаты с ожидаемыми, можно определить, верна ли исходная гипотеза. |
| CHIINV | Возвращает значение, обратное правосторонней вероятности распределения хи-квадрат. Если вероятность = ХИ2РАСП(x;...), то ХИ2ОБР(вероятность;...) = x. Данная функция позволяет сравнить наблюдаемые результаты с ожидаемыми, чтобы определить, верна ли исходная гипотеза. |
| CHITEST | Возвращает критерий независимости. Функция ХИ2ТЕСТ возвращает значение статистики для распределения хи-квадрат (χ2) и соответствующее число степеней свободы. Критерий χ2 используется, чтобы определить, подтверждается ли гипотеза экспериментом. |
| CONFIDENCE | Возвращает доверительный интервал для среднего генеральной совокупности с нормальным распределением. |
| COVAR | Возвращает ковариантность, среднее значение продуктов отклонений для каждой пары точек данных в двух наборах данных. |
| CRITBINOM | Возвращает наименьшее значение, для которого интегральное биномиальное распределение больше или равно заданному критерию. Эта функция используется в приложениях, связанных с контролем качества. Например, функция КРИТБИНОМ используется для определения наибольшего допустимого количества дефектных комплектующих, которое еще позволяет обойтись без отбраковки всей партии. |
| EXPONDIST | Возвращает экспоненциальное распределение. Функция ЭКСПРАСП используется для моделирования временных задержек между событиями, например времени, которое потребуется на доставку денежного перевода через автоматизированную банковскую систему. В частности, при помощи функции ЭКСПРАСП можно определить вероятность того, что этот процесс займет не более 1 минуты. |
| FDIST | Возвращает правый хвост F-распределения вероятности для двух наборов данных. Эта функция позволяет определить, имеют ли два множества данных различные степени разброса результатов. Можно, например, проанализировать результаты тестирования старшеклассников и определить, различается ли разброс результатов мальчиков и девочек. |
| FINV | Возвращает значение, обратное (правостороннему) F-распределению вероятностей. Если p = FРАСП(x;...), то FРАСПОБР(p;...) = x. |
| FTEST | Возвращает результат F-теста. F-тест возвращает двустороннюю вероятность того, что разница между дисперсиями аргументов "массив1" и "массив2" несущественна. Эта функция позволяет определить, имеют ли две выборки различные дисперсии. Например, если даны результаты тестирования для частных и общественных школ, можно определить, имеют ли эти школы различные уровни разброса результатов тестирования. |
| GAMMADIST | Возвращает гамма-распределение. Эту функцию можно использовать для изучения переменных, которые имеют асимметричное распределение. Гамма-распределение широко используется при анализе систем массового обслуживания. |
| GAMMAINV | Возвращает обратное гамма-кумулятивное распределение. Если p = GAMMADIST(x,...), то GAMMAINV(p,...) = x. Эту функцию можно использовать для изучения переменной, распределение которой может быть отклонено. |
| HYPGEOMDIST | Возвращает гипергеометрическое распределение. Значение, возвращаемое функцией ГИПЕРГЕОМЕТ, — это вероятность заданного количества успехов в выборке, если заданы размер выборки, количество успехов в генеральной совокупности и размер генеральной совокупности. Функция ГИПЕРГЕОМЕТ используется для задач с конечной генеральной совокупностью, где каждое наблюдение — успех или неудача, а каждое из подмножеств заданного размера выбирается с равной вероятностью. |
| LOGINV | Возвращает обратную функцию логнормального распределения x, где ln(x) имеет нормальное распределение с параметрами "среднее" и "стандартное_отклонение". Если p = ЛОГНОРМРАСП(x;...), то ЛОГНОРМОБР(p;...) = x. |
| LOGNORMDIST | Возвращает интегральное логнормальное распределение для x, где ln(x) является нормально распределенным с параметрами "среднее" и "стандартное_откл". Эта функция используется для анализа данных, которые были логарифмически преобразованы. |
| MODE | Предположим, что вы хотите узнать наиболее распространенное количество видов птиц, замеченных в выборке птиц, подсчитываемых на критических водно-болотных угодьях в течение 30-летнего периода времени, или вы хотите узнать наиболее часто встречающееся количество телефонных звонков в телефонный центр поддержки в часы вне пиковой нагрузки. Чтобы вычислить режим группы чисел, используйте функцию MODE . |
| NEGBINOMDIST | Возвращает отрицательное биномиальное распределение. Функция ОТРБИНОМРАСП возвращает вероятность того, заданному количеству успешных испытаний ("число успехов") будет предшествовать определенное количество неудачных испытаний ("число неудач") при условии, что вероятность успешного испытания постоянна и равна значению аргумента "вероятность_успеха". Эта функция подобна биномиальному распределению, за тем исключением, что количество успехов — фиксированное, а количество испытаний — переменное. Как и в случае биномиального распределения, испытания считаются независимыми. |
| NORMDIST | Функция НОРМДИСТ возвращает нормальное распределение для указанного среднего и стандартного отклонения. Эта функция имеет широкий спектр приложений в статистике, включая тестирование гипотез. |
| NORMINV | Возвращает обратное нормальное распределение для указанного среднего и стандартного отклонения. |
| NORMSDIST | Возвращает стандартное нормальное интегральное распределение. Это распределение имеет среднее, равное нулю, и стандартное отклонение, равное единице. Данная функция используется вместо таблицы площадей стандартной нормальной кривой. |
| NORMSINV | Возвращает обратное значение стандартного нормального распределения. Это распределение имеет среднее, равное нулю, и стандартное отклонение, равное единице. |
| PERCENTILE | Возвращает k-ю персентиль для значений из интервала. Эта функция используется для определения порога приемлемости. Например, можно принять решение экзаменовать только тех кандидатов, которые набрали большее количество баллов, чем 90-ая персентиль. |
| PERCENTRANK | Функция PERCENTRANK возвращает ранг значения в наборе данных в виде процента от набора данных. По сути, относительное положение значения во всем наборе данных. Например, можно использовать PERCENTRANK, чтобы определить положение отдельного тестового балла среди поля всех оценок для одного теста. |
| POISSON | Возвращает распределение Пуассона. Обычное применение распределения Пуассона состоит в предсказании количества событий, происходящих за определенное время, например количества машин, появляющихся на площади за одну минуту. |
| QUARTILE | Возвращает квартиль множества данных. Квартиль часто используются при анализе продаж для разбиения генеральной совокупности на группы. Например, можно воспользоваться функцией КВАРТИЛЬ, чтобы найти среди всех предприятий 25 процентов наиболее доходных. |
| RANK | Возвращает ранг числа в списке чисел. Ранг числа — это его величина относительно других значений в списке. (Если отсортировать список, то ранг числа будет его позицией.) |
| STDEV | Оценивает стандартное отклонение по выборке. Стандартное отклонение — это мера того, насколько широко разбросаны точки данных относительно их среднего. |
| STDEVP | Вычисляет стандартное отклонение по генеральной совокупности. Стандартное отклонение — это мера того, насколько широко разбросаны точки данных относительно их среднего. |
| TDIST | Возвращает процентные точки (вероятность) для t-распределения Стьюдента, где числовое значение (x) — вычисляемое значение t, для которого должны быть вычислены вероятности. T-распределение используется для проверки гипотез при малом объеме выборки. Данную функцию можно использовать вместо таблицы критических значений t-распределения. |
| TINV | Возвращает двустороннее обратное t-распределения Стьюдента. |
| TTEST | Возвращает вероятность, соответствующую критерию Стьюдента. Функция ТТЕСТ позволяет определить, вероятность того, что две выборки взяты из генеральных совокупностей, которые имеют одно и то же среднее. |
| VAR | Оценивает дисперсию по выборке. |
| VARP | Вычисляет дисперсию для генеральной совокупности. |
| WEIBULL | Возвращает распределение Вейбулла. Это распределение используется при анализе надежности, например для вычисления среднего времени наработки на отказ какого-либо устройства. |
| ZTEST | Возвращает одностороннее значение вероятности z-теста. Для заданного гипотетического среднего генеральной совокупности (μ0) функция ZТЕСТ возвращает вероятность того, что выборочное среднее будет больше среднего значения множества рассмотренных данных (массива), называемого также средним значением наблюдаемой выборки. |
| CUBEKPIMEMBER | Возвращает свойство ключевого показателя эффективности (КПЭ) и отображает его имя в ячейке. КПЭ представляет собой количественную величину, такую как ежемесячная валовая прибыль или ежеквартальная текучесть кадров, используемой для контроля эффективности работы организации. |
| CUBEMEMBER | Возвращает элемент или кортеж из куба. Используется для проверки существования элемента или кортежа в кубе. |
| CUBEMEMBERPROPERTY | Функция CUBEMEMBERPROPERTY , одна из функций Cube в Excel, возвращает значение свойства члена из куба. Используется для подтверждения того, что имя элемента внутри куба существует, и для возвращения определенного свойства для этого элемента. |
| CUBERANKEDMEMBER | Возвращает n-й, или ранжированный, элемент в множестве. Используется для возвращения одного или нескольких элементов в множестве, например, лучшего продавца или 10 лучших студентов. |
| CUBESET | Определяет вычисляемое множество элементов или кортежей, отправляя выражение для множества в куб на сервере, который создает множество, а затем возвращает его в Microsoft Excel. |
| CUBESETCOUNT | Возвращает число элементов в множестве. |
| CUBEVALUE | Возвращает агрегированное значение из куба. |
| DAVERAGE | Усредняет значения в поле (столбце) записей списка или базы данных, удовлетворяющие заданным условиям. |
| DCOUNT | Подсчитывает количество ячеек в поле (столбце) записей списка или базы данных, которые содержат числа, удовлетворяющие заданным условиям. |
| DCOUNTA | Подсчитывает непустые ячейки в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям. |
| DGET | Извлекает из столбца списка или базы данных одно значение, удовлетворяющее заданным условиям. |
| DMAX | Возвращает наибольшее число в поле (столбце) записей списка или базы данных, которое удовлетворяет заданным условиям. |
| DMIN | Возвращает наименьшее число в поле (столбце) записей списка или базы данных, которое удовлетворяет заданным условиям. |
| DPRODUCT | Перемножает значения в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям. |
| DSTDEV | Оценивает стандартное отклонение на основе выборки из генеральной совокупности, используя числа в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям. |
| DSTDEVP | Вычисляет стандартное отклонение генеральной совокупности, используя числа в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям. |
| DSUM | В списке или базе данных DSUM предоставляет сумму чисел в полях (столбцах) записей, соответствующих заданным условиям. |
| DVAR | Оценивает дисперсию генеральной совокупности по выборке, используя отвечающие соответствующие заданным условиям числа в поле (столбце) записей списка или базы данных. |
| DVARP | Вычисляет дисперсию генеральной совокупности, используя числа в поле (столбце) записей списка или базы данных, которые удовлетворяют заданным условиям. |
| DATE | Возвращает порядковый номер определенной даты |
| DATEDIF | Вычисляет количество дней, месяцев или лет между двумя датами |
| DATEVALUE | Преобразует дату, которая хранится в виде текста, в порядковый номер |
| DAY | Возвращает день даты, заданной в числовом формате. День возвращается как целое число в диапазоне от 1 до 31 |
| DAYS | Возвращает количество дней между двумя датами. |
| DAYS360 | Возвращает количество дней между двумя датами на основе 360-дневного года |
| EDATE | Возвращает порядковый номер даты, отстоящей на заданное количество месяцев вперед или назад от заданной даты. Функция EDATE используется для вычисления срока погашения или даты платежа, приходящейся на тот же день месяца, что и дата выпуска |
| EOMONTH | Возвращает порядковый номер последнего дня месяца, отстоящего на указанное количество месяцев от даты, указанной в аргументе "начальная дата" |
| EPOCHTODATE | Преобразует Unix-время в секундах, миллисекундах или микросекундах в дату и время по всемирному координированному времени (UTC). |
| HOUR | Возвращает час, соответствующий заданному времени. Час определяется как целое число в интервале от 0 до 23 |
| ISOWEEKNUM | Возвращает номер недели в году для определенной даты в соответствии со стандартами ISO |
| MINUTE | Возвращает минуты, соответствующие аргументу время_в_числовом_формате. Минуты определяются как целое число в интервале от 0 до 59. |
| MONTH | Возвращает месяц для даты, заданной в числовом формате. Месяц возвращается как целое число в диапазоне от 1 (январь) до 12 (декабрь). |
| NETWORKDAYS | Возвращает количество рабочих дней между датами "нач_дата" и "кон_дата". Праздники и выходные в это число не включаются. Функцию ЧИСТРАБДНИ можно использовать для вычисления заработной платы работника на основе количества дней, отработанных в указанный период. |
| NETWORKDAYS_INTL | Возвращает количество рабочих дней между двумя датами с использованием параметров, определяющих, сколько в неделе выходных и какие дни являются выходными. Выходные и любые праздники не считаются рабочими днями. |
| NOW | Возвращает текущую дату и время в числовом формате. Если до ввода этой функции для ячейки был задан формат Общий , он будет изменен на формат даты и времени, соответствующий региональным параметрам. Формат даты и времени для ячейки можно изменить с помощью команд на вкладке ленты Главная в группе Число . |
| SECOND | Возвращает секунды, соответствующие аргументу время_в_числовом_формате. Секунды определяются как целое число в интервале от 0 до 59. |
| TIME | Возвращает десятичное число, представляющее определенное время |
| TIMEVALUE | Возвращает время в виде десятичного числа, представленное текстовой строкой |
| TO_DATE | Преобразует число в значение даты. |
| TODAY | Возвращает серийный номер текущей даты |
| WEEKDAY | Возвращает день недели, соответствующий дате |
| WEEKNUM | Возвращает номер недели для определенной даты |
| WORKDAY | Возвращает число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты |
| WORKDAY_INTL | Возвращает серийный номер даты до или после указанного количества рабочих дней с пользовательскими параметрами выходных |
| YEAR | Возвращает год, соответствующий заданной дате. Год определяется как целое число в диапазоне от 1900 до 9999 |
| YEARFRAC | Возвращает долю года, которую составляет количество дней между двумя датами (начальной и конечной) |
| BESSELI | Возвращает модифицированную функцию Бесселя |
| BESSELJ | Возвращает функцию Бесселя |
| BESSELK | Возвращает модифицированную функцию Бесселя |
| BESSELY | Возвращает функцию Бесселя, также называемую функцией Вебера или функцией Неймана |
| BIN2DEC | Преобразует двоичное число в десятичное |
| BIN2HEX | Преобразует двоичное число в шестнадцатеричное |
| BIN2OCT | Преобразует двоичное число в восьмеричное. |
| BITAND | Возвращает результат операции поразрядного И для двух чисел |
| BITLSHIFT | Возвращает число со сдвигом влево на указанное число бит |
| BITOR | Возвращает результат операции поразрядного ИЛИ для двух чисел |
| BITRSHIFT | Возвращает число со сдвигом вправо на указанное число бит |
| BITXOR | Возвращает результат операции поразрядного исключающего ИЛИ для двух чисел |
| COMPLEX | Преобразует коэффициенты при вещественной и мнимой частях комплексного числа в комплексное число |
| CONVERT | Преобразует число из одной системы мер в другую |
| DEC2BIN | Преобразует десятичное число в двоичное |
| DEC2HEX | Преобразует десятичное число в шестнадцатеричное |
| DEC2OCT | Преобразует десятичное число в восьмеричное |
| DELTA | Проверяет равенство двух значений |
| ERF | Возвращает функцию ошибки |
| ERF_PRECISE | Возвращает функцию ошибки |
| ERFC | Возвращает дополнительную функцию ERF, проинтегрированную в пределах от x до бесконечности |
| ERFC_PRECISE | Возвращает дополнительную функцию ERF, проинтегрированную в пределах от x до бесконечности |
| GESTEP | Используется для фильтрации множества значений |
| HEX2BIN | Преобразует шестнадцатеричное число в двоичное |
| HEX2DEC | Преобразует шестнадцатеричное число в десятичное |
| HEX2OCT | Преобразует шестнадцатеричное число в восьмеричное |
| IMABS | Возвращает абсолютную величину (модуль) комплексного числа, представленного в текстовом формате |
| IMAGINARY | Возвращает коэффициент при мнимой части комплексного числа, представленного в формате x + yi или x + yj. |
| IMARGUMENT | Возвращает аргумент Тета(theta), угол, выраженный в радианах |
| IMCONJUGATE | Возвращает комплексно-сопряженное число для комплексного числа |
| IMCOS | Возвращает косинус комплексного числа |
| IMCOSH | Возвращает гиперболический косинус комплексного числа |
| IMCOT | Возвращает котангенс комплексного числа |
| IMCOTH | Функция IMCOTH возвращает гиперболический котангенс заданного комплексного числа. Например, для заданного комплексного числа "x + yi" будет возвращено значение "coth(x + yi)". |
| IMCSC | Возвращает косеканс комплексного числа |
| IMCSCH | Возвращает гиперболический косеканс комплексного числа |
| IMDIV | Возвращает частное от деления двух комплексных чисел |
| IMEXP | Возвращает экспоненту комплексного числа, представленного в текстовом формате x + yi или x + yj. |
| IMLN | Возвращает натуральный логарифм комплексного числа |
| IMLOG | Функция IMLOG возвращает логарифм комплексного числа по указанному основанию. |
| IMLOG10 | Возвращает десятичный логарифм комплексного числа |
| IMLOG2 | Возвращает двоичный логарифм комплексного числа |
| IMPOWER | Возвращает комплексное число возведенное в степень |
| IMPRODUCT | Возвращает произведение от 1 до 255 комплексных чисел |
| IMREAL | Возвращает коэффициент при вещественной части комплексного числа |
| IMSEC | Возвращает секанс комплексного числа |
| IMSECH | Возвращает гиперболический секанс комплексного числа |
| IMSIN | Возвращает синус комплексного числа |
| IMSINH | Возвращает гиперболический синус комплексного числа |
| IMSQRT | Возвращает значение квадратного корня из комплексного числа |
| IMSUB | Возвращает разность двух комплексных чисел, |
| IMSUM | Возвращает сумму двух или более комплексных чисел |
| IMTAN | Возвращает тангенс комплексного числа |
| IMTANH | Функция IMTANH возвращает гиперболический тангенс заданного комплексного числа. Например, для заданного комплексного числа "x + yi" будет возвращено значение "tanh(x + yi)". |
| OCT2BIN | Преобразует восьмеричное число в двоичное |
| OCT2DEC | Преобразует восьмеричное число в десятичное |
| OCT2HEX | Преобразует восьмеричное число в шестнадцатеричное |
| ACCRINT | Возвращает накопленный процент по ценным бумагам с периодической выплатой процентов |
| ACCRINTM | Возвращает накопленный процент по ценным бумагам, процент по которым выплачивается в срок погашения. |
| AMORDEGRC | Возвращает амортизацию за каждый учетный период, используя коэффициент амортизации |
| AMORLINC | Возвращает величину амортизации для каждого периода |
| COUPDAYBS | Возвращает количество дней от начала действия купона до даты соглашения |
| COUPDAYS | Возвращает число дней в периоде купона, содержащем дату расчета. |
| COUPDAYSNC | Возвращает число дней от даты расчета до срока следующего купона |
| COUPNCD | Возвращает число, представляющее дату следующего купона от даты соглашения |
| COUPNUM | Возвращает количество купонов, которые могут быть оплачены между датой соглашения и датой погашения, округленное до ближайшего целого купона |
| COUPPCD | Возвращает число, представляющее дату предыдущего купона до даты соглашения |
| CUMIPMT | Возвращает кумулятивную величину процентов, выплачиваемых по займу в промежутке между двумя периодами выплат |
| CUMPRINC | Возвращает кумулятивную сумму, выплачиваемую в погашение основной суммы займа в промежутке между двумя периодами |
| DB | Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка |
| DDB | Возвращает значение амортизации актива за указанный период, используя метод двойного уменьшения остатка или иной явно указанный метод |
| DISC | Возвращает ставку дисконтирования для ценных бумаг |
| DOLLARDE | Преобразует цену в рублях, представленную в виде целой и дробной части, например 1,01, в цену в рублях, выраженную десятичным числом |
| DOLLARFR | Используется для преобразования десятичных чисел, например стоимости ценных бумаг, в дробные значения |
| DURATION | Возвращает годовую продолжительность ценной бумаги с периодическими выплатами процентов. |
| EFFECT | Возвращает фактическую (эффективную) годовую процентную ставку |
| FV | БС — одна из финансовых функций , возвращающая будущую стоимость инвестиции на основе постоянной процентной ставки. В функции БС можно использовать как периодические постоянные платежи, так и единый общий платеж. |
| FVSCHEDULE | Возвращает будущую стоимость первоначальной основной суммы после применения ряда (плана) ставок сложных процентов. Функция БЗРАСПИС используется для вычисления будущей стоимости инвестиции с переменной процентной ставкой. |
| INTRATE | Возвращает процентную ставку для полностью инвестированных ценных бумаг. |
| IPMT | Возвращает сумму платежей по процентам для инвестиции за данный период на основе постоянства сумм периодических платежей и постоянства процентной ставки |
| IRR | Возвращает внутреннюю ставку доходности для ряда потоков денежных средств, представленных их численными значениями. В отличие от аннуитета, денежные суммы в пределах этих потоков могут колебаться. Однако обязательным условием является регулярность поступлений (например, ежемесячно или ежегодно). Внутренняя ставка доходности — это процентная ставка, принимаемая для инвестиции, состоящей из платежей (отрицательные величины) и доходов (положительные величины), которые имеют место в следующие друг за другом и одинаковые по продолжительности периоды. |
| ISPMT | Вычисляет проценты, выплаченные (или полученные) за указанный период кредита (или инвестиции) с четными основными платежами |
| MDURATION | Возвращает модифицированную продолжительность Макалея для ценных бумаг с предполагаемой номинальной стоимостью 100 р |
| MIRR | Возвращает модифицированную внутреннюю ставку доходности для ряда периодических денежных потоков |
| NOMINAL | Возвращает номинальную годовую ставку, если заданы эффективная (фактическая) ставка и число периодов в году, за которые начисляются сложные проценты |
| NPER | Возвращает общее количество периодов выплаты для инвестиции на основе периодических постоянных выплат и постоянной процентной ставки |
| NPV | Возвращает величину чистой приведенной стоимости инвестиции, используя ставку дисконтирования, а также последовательность будущих выплат (отрицательные значения) и поступлений (положительные значения) |
| ODDFPRICE | Возвращает цену за 100 рублей номинальной стоимости ценных бумаг для нерегулярного (короткого или длинного) первого периода |
| ODDFYIELD | Возвращает доход по ценным бумагам с нерегулярным (коротким или длинным) первым периодом |
| ODDLPRICE | Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг для нерегулярного (короткого или длинного) последнего периода купона |
| ODDLYIELD | Возвращает доход по ценным бумагам с нерегулярным (коротким или длинным) последним периодом |
| PDURATION | Возвращает количество периодов, которые необходимы инвестиции для достижения заданного значения |
| PMT | Возвращает сумму периодического платежа для аннуитета на основе постоянства сумм платежей и постоянной процентной ставки |
| PPMT | Возвращает величину платежа в погашение основной суммы по инвестиции за данный период на основе постоянных периодических платежей и постоянной процентной ставки |
| PRICE | Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, по которым выплачивается периодический процент |
| PRICEDISC | Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, на которые сделана скидка |
| PRICEMAT | Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, по которым процент выплачивается в срок погашения |
| PV | Возвращающая приведенную стоимость займа или инвестиции на основе постоянной процентной ставки |
| RATE | Возвращает процентную ставку за период аннуитета |
| RECEIVED | Возвращает сумму, полученную к сроку погашения полностью обеспеченных ценных бумаг |
| RRI | Возвращает эквивалентную процентную ставку для роста инвестиции |
| SLN | Возвращает величину амортизации актива за один период, рассчитанную линейным методом |
| SYD | Возвращает величину амортизации актива за данный период, рассчитанную по сумме чисел лет срока полезного использования |
| TBILLEQ | Возвращает эквивалентный облигации доход по казначейскому векселю |
| TBILLPRICE | Возвращает цену на 100 рублей номинальной стоимости для казначейского векселя |
| TBILLYIELD | Возвращает доходность по казначейскому векселю |
| VDB | Возвращает величину амортизации актива для любого выбранного периода, в том числе для частичных периодов, с использованием метода двойного уменьшения остатка или иного указанного метода |
| XIRR | Возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер |
| XNPV | Возвращает чистую приведенную стоимость для денежных потоков, которые не обязательно являются периодическими |
| YIELD | Возвращает доходность ценных бумаг, по которым производятся периодические выплаты процентов |
| YIELDDISC | Возвращает годовую доходность по ценным бумагам, на которые сделана скидка |
| YIELDMAT | Возвращает годовую доходность ценных бумаг, по которым проценты выплачиваются при наступлении срока погашения |
| CELL | Возвращает сведения о форматировании, расположении или содержимом ячейки |
| ERROR_TYPE | Возвращает номер, соответствующий одному из возможных значений ошибок |
| INFO | Возвращает информацию о текущей операционной среде |
| ISBETWEEN | Проверяет, относится ли указанное значение к интервалу между двумя числами (включительно или не включительно). |
| ISBLANK | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISDATE | Функция ISDATE определяет, является ли указанное значение датой. |
| ISEMAIL | Функция ISEMAIL проверяет, является ли значение допустимым адресом электронной почты. Она подтверждает только соответствие значения общепринятому формату адресов электронной почты, но не существование адреса. |
| ISERR | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISERROR | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISEVEN | Возвращает значение ИСТИНА, если число четное, и значение ЛОЖЬ, если число нечетное. |
| ISFORMULA | Возвращает значение TRUE, если значение является формулой |
| ISLOGICAL | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISNA | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISNONTEXT | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISNUMBER | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISODD | Возвращает ИСТИНА, если число нечетное |
| ISOMITTED | Проверяет, отсутствует ли значение в ЛЯМБДА, и возвращает значение True или False |
| ISREF | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISTEXT | Каждая из функций Е проверяет указанное значение и возвращает в зависимости от результата значение ИСТИНА или ЛОЖЬ. Например, функция ЕПУСТО возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку; в противном случае возвращается логическое значение ЛОЖЬ. |
| ISURL | Проверяет, является ли значение допустимым URL. |
| N | Возвращает значение, преобразованное в число |
| NA | Возвращает значение ошибки #N/A |
| SHEET | Возвращает номер листа указанного листа или другой ссылки |
| SHEETS | Возвращает количество листов в ссылке |
| TYPE | Возвращает тип значения |
| AND | Возвращает TRUE если все проверяемые значения TRUE |
| BYCOL | Применяет функцию ЛЯМБДА к каждому столбцу и возвращает массив результатов |
| BYROW | Применяет ЛЯМБДА-функцию к каждой строке и возвращает массив результатов |
| FALSE | Возвращает логическое значение FALSE. |
| IF | Указывает логический тест для выполнения |
| IFERROR | Возвращает указанное значение, если формула принимает ошибку; в противном случае возвращается результат формулы. |
| IFNA | Функция IFNA возвращает указанное значение, если формула возвращает значение ошибки #N/A; в противном случае возвращается результат формулы |
| IFS | Проверяет соответствие одному или нескольким условиям и возвращает значение для первого условия, принимающего значение TRUE |
| LAMBDA | С помощью функции ЛЯМБДА можно создавать пользовательские функции для повторного использования и вызывать их по понятным именам. Новая функция доступна во всей книге и вызывается так же, как и основные функции Excel. |
| LET | Присваивает имена результатам вычисления |
| MAKEARRAY | Возвращает вычисляемый массив указанной строки и столбца, применяя функцию LAMBDA |
| MAP | Возвращает массив, сформированный путем сопоставления каждого значения в массивах с новым значением путем применения функции ЛЯМБДА для создания нового значения |
| NOT | Переворачивает логику своего аргумента |
| OR | Возвращает TRUE, если хотя бы один из его аргументов оценивается как TRUE, и возвращает FALSE, если все его аргументы оцениваются как FALSE |
| REDUCE | Уменьшает массив до накопленного значения, применяя ЛЯМБДА к каждому значению и возвращая общее значение в аккумулятор |
| SCAN | Сканирует массив путем применения функции ЛЯМБДА к каждому значению и возвращает массив, содержащий все промежуточные значения |
| SWITCH | Вычисляет значение (которое называют выражением) на основе списка значений и возвращает результат, соответствующий первому совпадающему значению. Если совпадения не обнаружены, может быть возвращено необязательное стандартное значение |
| TRUE | Возвращает логическое значение TRUE |
| XOR | Возвращает логический исключающий или всех аргументов |
| ADDRESS | Можно использовать для получения адреса ячейки на листе по номерам строки и столбца. Например, функция ADDRESS(2;3) возвращает значение $C$2. Еще один пример: функция ADDRESS(77;300) возвращает значение $KN$77. Чтобы передать функции ADDRESS номера строки и столбца в качестве ее аргументов, можно использовать другие функции. |
| AREAS | Возвращает количество областей в ссылке |
| CHOOSE | Использует номер_индекса, чтобы выбрать и вернуть значение из списка аргументов-значений |
| CHOOSECOLS | Возвращает указанные столбцы из массива |
| CHOOSEROWS | Возвращает указанные строки из массива |
| COLUMN | Возвращает номер столбца заданного ссылка на ячейку |
| COLUMNS | Возвращает количество столбцов в массив или ссылке |
| DROP | Исключает указанное количество строк или столбцов из начала или конца массива |
| EXPAND | Расширяет или заполняет массив до указанных размеров строк и столбцов |
| FILTER | Позволяет выполнять фильтрацию диапазона данных на основе условий, которые вы определяете |
| FORMULATEXT | Возвращает формулу в виде строки |
| GETPIVOTDATA | Возвращает видимые данные из сводной таблицы |
| HLOOKUP | Ищет значение в первой строке таблицы или массива и возвращает значение, находящееся в том же столбце в заданной строке таблицы или массива. Функция ГПР используется, когда сравниваемые значения расположены в первой строке таблицы данных, а возвращаемые — на несколько строк ниже. Если сравниваемые значения находятся в столбце слева от искомых данных, используйте функцию ВПР. |
| HSTACK | Добавляет массивы последовательно по горизонтали, чтобы вернуть больший массив. |
| HYPERLINK | Создает гиперссылку в ячейке. |
| IMAGE | Функция ИЗОБРАЖЕНИЕ вставляет изображения в ячейки из источника вместе с замещающим текстом. Затем вы можете перемещать и изменять ячейки, выполнять сортировку и фильтрацию, а также работать с изображениями в таблице Excel. Используйте эту функцию для визуального улучшения списков данных, например перечней, игр, сотрудников и математических концепций. |
| INDEX | Возвращает значение элемента в таблице или массиве, выбранное по индексам номеров строк и столбцов |
| INDIRECT | Возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. |
| LOOKUP | Используется когда нужно взять одну строку или столбец и найти значение, находящееся в той же позиции в другой строке или столбце |
| MATCH | Выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне |
| OFFSET | Возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов |
| ROW | Возвращает номер строки, определяемой ссылкой |
| ROWS | Возвращает количество строк в ссылке или массив |
| RTD | Получает данные реального времени из программы, поддерживающей автоматизацию COM |
| SORT | Сортирует содержимое диапазона или массива |
| SORTBY | Cортирует содержимое диапазона или массива на основе значений в соответствующем диапазоне или массиве |
| TAKE | Возвращает указанное количество непрерывных строк или столбцов с начала или конца массива |
| TOCOL | Возвращает массив в одном столбце |
| TOROW | Возвращает массив в одной строке |
| TRANSPOSE | Возвращает транспонированный массив |
| UNIQUE | Возвращение уникальных значений из списка значений |
| VLOOKUP | Находите данные по строкам в таблице или диапазоне с помощью функции VLOOKUP. Например, можно найти цену автомобильной детали по ее номеру или найти имя сотрудника по его идентификатору. |
| VSTACK | Добавляет массивы по вертикали и последовательно, чтобы вернуть больший массив |
| WRAPCOLS | Оборачивает заданную строку или столбец значений столбцами после указанного количества элементов, чтобы сформировать новый массив |
| WRAPROWS | Переносит предоставленную строку или столбец значений по строкам после указанного количества элементов, чтобы сформировать новый массив |
| XLOOKUP | Находите данные по строкам в таблице или диапазоне с помощью функции XLOOKUP. Например, можно найти цену автомобильной детали по ее номеру или найти имя сотрудника по его идентификатору |
| XMATCH | Выполняет поиск указанного элемента в массиве или диапазоне ячеек и возвращает относительную позицию элемента |
| ABS | Возвращает абсолютную величину числа. Абсолютная величина числа — это число без знака |
| ACOS | Возвращает арккосинус числа. Арккосинус числа — это угол, косинус которого равен числу. Угол определяется в радианах в интервале от 0 до "пи" |
| ACOSH | Возвращает гиперболический арккосинус числа. Число должно быть больше или равно 1. Гиперболический арккосинус числа — это значение, гиперболический косинус которого равен числу, следовательно, ACOSH(COSH(число)) равняется числу |
| ACOT | Возвращает главное значение арккотангенса, или обратного котангенса, числа |
| ACOTH | Возвращает гиперболический арккотангенс числа |
| AGGREGATE | Возвращает агрегатный результат вычислений по списку или базе данных |
| ARABIC | Преобразует римское число в арабское |
| ASIN | Возвращает арксинус числа |
| ASINH | Возвращает гиперболический арксинус числа |
| ATAN | Возвращает арктангенс числа |
| ATAN2 | Возвращает арктангенс для заданных координат x и y |
| ATANH | Возвращает гиперболический арктангенс числа. Число должно быть в интервале от -1 до 1 (исключая -1 и 1). Гиперболический арктангенс числа — это значение, гиперболический тангенс которого равен числу , следовательно ATANH(TANH(число)) равняется числу . |
| BASE | Преобразует число в текстовое представление с указанным основанием системы счисления |
| CEILING | Возвращает результат округления с избытком до ближайшего числа, кратного значению точности |
| CEILING_MATH | Округляет число до ближайшего целого числа или, при необходимости, до ближайшего кратного значения |
| CEILING_PRECISE | Округляет число вверх до ближайшего целого или до ближайшего кратного указанному значению. Число округляется до большего значения вне зависимости от его знака |
| COMBIN | Возвращает количество комбинаций для заданного числа элементов |
| COMBINA | Возвращает количество комбинаций (с повторениями) для заданного числа элементов |
| COS | Возвращает косинус заданного угла |
| COSH | Возвращает гиперболический косинус числа |
| COT | Возвращает значение котангенса заданного угла в радианах |
| COTH | Возвращает гиперболический котангенс гиперболического угла |
| CSC | Возвращает значение косеканса заданного угла в радианах |
| CSCH | Возвращает значение гиперболического косеканса заданного угла в радианах |
| DECIMAL | Преобразует текстовое представление числа с указанным основанием в десятичное число |
| DEGREES | Преобразует радианы в градусы |
| EVEN | Возвращает число, округленное до ближайшего четного целого |
| EXP | Возвращает число e, возведенное в указанную степень |
| FACT | Возвращает факториал числа |
| FACTDOUBLE | Возвращает двойной факториал числа |
| FLOOR | Округляет указанное число до ближайшего указанного кратного значения |
| FLOOR_MATH | Округляет число в меньшую сторону до ближайшего целого или до ближайшего кратного указанному значению |
| FLOOR_PRECISE | Возвращает число, округленное с недостатком до ближайшего целого или до ближайшего кратного разрядности. Число округляется с недостатком независимо от знака |
| GCD | Возвращает наибольший общий делитель двух или более целых чисел |
| INT | Округляет число до ближайшего меньшего целого |
| ISO_CEILING | Округляет число вверх до ближайшего целого или до ближайшего кратного указанному значению |
| LCM | Возвращает наименьшее общее кратное целых чисел |
| LN | Возвращает натуральный логарифм числа |
| LOG | Возвращает логарифм числа по заданному основанию |
| LOG10 | Возвращает десятичный логарифм числа |
| MDETERM | Возвращает определитель матрицы |
| MINVERSE | Возвращает обратную матрицу для матрицы, хранящейся в массиве. |
| MMULT | Возвращает матричное произведение двух массивов |
| MOD | Возвращает остаток от деления аргумента "число" на значение аргумента "делитель". Результат имеет тот же знак, что и делитель |
| MROUND | Возвращает число, округленное до нужного кратного |
| MULTINOMIAL | Возвращает отношение факториала суммы значений к произведению факториалов |
| MUNIT | Возвращает матрицу единиц измерения для указанного измерения |
| ODD | Возвращает число, округленное до ближайшего нечетного целого |
| PI | Возвращает число "пи" |
| POWER | Возвращает результат возведения числа в степень |
| PRODUCT | Перемножает все числа, переданные как аргументы, и возвращает произведение |
| QUOTIENT | Возвращает целую часть результата деления с остатком |
| RADIANS | Преобразует градусы в радианы |
| RAND | Возвращает равномерно распределенное случайное вещественное число, большее или равное 0, но меньшее 1 |
| RANDARRAY | Возвращает массив случайных чисел. Вы можете указать количество заполняемых строк и столбцов, минимальное и максимальное значения, а также какие значения необходимо возвращать: целые или десятичные |
| RANDBETWEEN | Возвращает случайное целое число, находящееся в диапазоне между двумя заданными числами |
| ROMAN | Преобразует арабское число в римское в текстовом формате |
| ROUND | Округляет число до указанного количества дробных разрядов |
| ROUNDBANK | Округляет число по банковскому методу |
| ROUNDDOWN | Округляет число до ближайшего меньшего по модулю значения |
| ROUNDUP | Округляет число до ближайшего большего по модулю |
| SEC | Возвращает секанс угла |
| SECH | Возвращает гиперболический секанс угла |
| SERIESSUM | Возвращает сумму степенного ряда, вычисленную по формуле |
| SEQUENCE | Позволяет создать список последовательных чисел в массиве, например 1, 2, 3, 4. |
| SIGN | Определяет знак числа |
| SIN | Возвращает синус заданного угла |
| SINH | Возвращает гиперболический синус числа |
| SQRT | Возвращает положительное значение квадратного корня |
| SQRTPI | Возвращает квадратный корень из значения выражения (число * пи). |
| SUBTOTAL | Возвращает промежуточный итог в список или базу данных |
| SUM | Вы можете складывать отдельные значения, диапазоны ячеек, ссылки на ячейки или данные всех этих трех видов. |
| SUMIF | Используется, если необходимо просуммировать значения диапазона, соответствующие заданным условиям |
| SUMIFS | Cуммирует все аргументы, удовлетворяющие нескольким условиям |
| SUMPRODUCT | Возвращает сумму продуктов соответствующих диапазонов или массивов |
| SUMSQ | Возвращает сумму квадратов аргументов |
| SUMX2MY2 | Возвращает сумму разности квадратов соответствующих значений в двух массивах |
| SUMX2PY2 | Возвращает сумму сумм квадратов соответствующих элементов двух массивов |
| SUMXMY2 | Возвращает сумму квадратов различий соответствующих значений в двух массивах |
| TAN | Возвращает тангенс заданного угла |
| TANH | Возвращает гиперболический тангенс числа |
| TRUNC | Усекает число до целого числа, удаляя дробную часть числа |
| AVEDEV | Возвращает среднее абсолютных значений отклонений точек данных от среднего. AVEDEV является мерой разброса множества данных |
| AVERAGE | Возвращает среднее (среднее арифметическое) аргументов |
| AVERAGE_WEIGHTED | Функция AVERAGE.WEIGHTED вычисляет средневзвешенное значение набора величин с учетом соответствующих весов. |
| AVERAGEA | Вычисляет среднее арифметическое для значений заданных в списке аргументов |
| AVERAGEIF | Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые соответствуют данному условию |
| AVERAGEIFS | Возвращает среднее значение (среднее арифметическое) всех ячеек, которые соответствуют нескольким условиям |
| BETA_DIST | Возвращает функцию бета-распределения |
| BETA_INV | Возвращает обратную функцию к интегральной функции плотности бета-распределения вероятности |
| BINOM_DIST | Возвращает отдельное значение биномиального распределения |
| BINOM_DIST_RANGE | Возвращает вероятность результата испытаний при помощи биномиального распределения |
| BINOM_INV | Возвращает наименьшее значение, для которого интегральное биномиальное распределение больше заданного значения критерия или равно ему |
| CHISQ_DIST | Возвращает распределение хи-квадрат |
| CHISQ_DIST_RT | Возвращает правостороннюю вероятность распределения хи-квадрат |
| CHISQ_INV | Возвращает значение, обратное левосторонней вероятности распределения хи-квадрат |
| CHISQ_INV_RT | Возвращает значение, обратное правосторонней вероятности распределения хи-квадрат |
| CHISQ_TEST | Возвращает критерий независимости |
| CONFIDENCE_NORM | Возвращает доверительный интервал для среднего генеральной совокупности с нормальным распределением |
| CONFIDENCE_T | Возвращает доверительный интервал для среднего генеральной совокупности, используя распределение Стьюдента |
| CORREL | Возвращает коэффициент корреляции двух диапазонов ячеек |
| COUNT | Подсчитывает количество ячеек, содержащих числа, и количество чисел в списке аргументов |
| COUNTA | Подсчитывает количество заполненных ячеек в диапазон |
| COUNTBLANK | Подсчитывает количество пустых ячеек в диапазоне ячеек |
| COUNTIF | Подсчитывает количество ячеек, отвечающих определенному условию |
| COUNTIFS | Применяет критерии к ячейкам в нескольких диапазонах и вычисляет количество соответствий всем критериям |
| COVARIANCE_P | Возвращает ковариацию популяции — среднее значение продуктов отклонений для каждой пары точек данных в двух наборах данных |
| COVARIANCE_S | Возвращает ковариацию выборки, т.е. среднее произведений отклонений для каждой пары точек в двух наборах данных |
| DEVSQ | Возвращает сумму квадратов отклонений точек данных от их среднего |
| EXPON_DIST | Возвращает экспоненциальное распределение |
| F_DIST | Возвращает F-распределение вероятности |
| F_DIST_RT | Возвращает правый хвост F-распределения вероятности для двух наборов данных |
| F_INV | Возвращает значение, обратное F-распределению вероятности |
| F_INV_RT | Возвращает значение, обратное (правостороннему) F-распределению вероятности |
| F_TEST | Возвращает результат F-теста |
| FISHER | Возвращает преобразование Фишера для аргумента x |
| FISHERINV | Возвращает обратное значение для преобразования Фишера |
| FORECAST | Возвращает значение линейного тренда |
| FORECAST_ETS | Рассчитывает или прогнозирует будущее значение на основе существующих (ретроспективных) данных с использованием версии AAA алгоритма экспоненциального сглаживания (ETS) |
| FORECAST_ETS_CONFINT | Возвращает доверительный интервал для прогнозируемого значения на указанную целевую дату |
| FORECAST_ETS_SEASONALITY | Возвращает длину повторяющегося фрагмента, обнаруженного программой Excel в заданном временном ряду |
| FORECAST_ETS_STAT | Возвращает статистическое значение, являющееся результатом прогнозирования временного ряда |
| FORECAST_LINEAR | Возвращает будущее значение на основе существующих значений |
| FREQUENCY | Вычисляет частоту появления значений в диапазоне и возвращает вертикальный массив чисел |
| GAMMA | Возвращает значение гамма-функции |
| GAMMA_DIST | Возвращает гамма-распределение |
| GAMMA_INV | Возвращает обратное гамма-кумулятивное распределение |
| GAMMALN | Возвращает натуральный логарифм гамма-функции — Γ(x) |
| GAMMALN_PRECISE | Возвращает натуральный логарифм гамма-функции — Γ(x) |
| GAUSS | Рассчитывает вероятность, с которой элемент стандартной нормальной совокупности находится в интервале между средним и стандартным отклонением z от среднего. |
| GEOMEAN | Возвращает среднее геометрическое значений массива или интервала положительных чисел |
| GROWTH | Рассчитывает прогнозируемый экспоненциальный рост на основе имеющихся данных |
| HARMEAN | Возвращает среднее гармоническое множества данных |
| HYPGEOM_DIST | Возвращает гипергеометрическое распределение |
| INTERCEPT | Возвращает точку пересечения линии линейной регрессии |
| KURT | Возвращает эксцесс множества данных |
| LARGE | Возвращает k-ое по величине значение из множества данных |
| LINEST | Возвращает параметры линейного тренда |
| LOGEST | Возвращает параметры экспоненциального тренда |
| LOGNORM_DIST | Возвращает логнормальное распределение |
| LOGNORM_INV | Возвращает обратную функцию интегрального логнормального распределения |
| MARGINOFERROR | Эта функция рассчитывает предельную погрешность исходя из диапазона значений и уровня доверия. |
| MAX | Возвращает наибольшее значение из набора значений |
| MAXA | Возвращает наибольшее значение в списке аргументов |
| MAXIFS | Возвращает максимальное значение из заданных определенными условиями или критериями ячеек |
| MEDIAN | Возвращает медиану заданных чисел |
| MIN | Возвращает наименьшее значение в списке аргументов |
| MINA | Возвращает наименьшее значение в списке аргументов |
| MINIFS | Возвращает минимальное значение из заданных определенными условиями или критериями ячеек |
| MODE_MULT | Возвращает вертикальный массив из наиболее часто встречающихся (повторяющихся) значений в массиве или диапазоне данных |
| MODE_SNGL | Возвращает наиболее распространенное значение в наборе данных |
| NEGBINOM_DIST | Возвращает отрицательное биномиальное распределение |
| NORM_DIST | Возвращает нормальную функцию распределения |
| NORM_INV | Возвращает обратное нормальное распределение для указанного среднего и стандартного отклонения |
| NORM_S_DIST | Возвращает стандартное нормальное распределение |
| NORM_S_INV | Возвращает обратное значение стандартного нормального распределения |
| PEARSON | Возвращает коэффициент корреляции Пирсона |
| PERCENTILE_EXC | Возвращает k-й процентиль значений в наборе данных (исключая 0 и 1) |
| PERCENTILE_INC | Возвращает k-й процентиль значений в диапазоне, где k находится в диапазоне от 0 до 1 включительно |
| PERCENTRANK_EXC | Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, не включая эти числа) |
| PERCENTRANK_INC | Возвращает ранг значения в наборе данных как процентное содержание в наборе данных (от 0 до 1, включая эти числа) |
| PERMUT | Возвращает количество перестановок для заданного числа объектов, которые выбираются из общего числа объектов |
| PERMUTATIONA | Возвращает количество перестановок для заданного числа объектов (с повторами), которые можно выбрать из общего числа объектов |
| PHI | Возвращает значение функции плотности для стандартного нормального распределения. |
| POISSON_DIST | Возвращает распределение Пуассона |
| PROB | Возвращает вероятность того, что значение из интервала находится внутри заданных пределов |
| QUARTILE_EXC | Возвращает квартил набора данных на основе значений процентилей (исключающих 0 и 1) |
| QUARTILE_INC | Возвращает квартиль набора данных на основе значений процентили от 0 до 1 (включительно). |
| RANK_AVG | Возвращает ранг числа в списке чисел: его размер относительно других значений в списке |
| RANK_EQ | Возвращает ранг числа в списке чисел: его размер относительно других значений в списке |
| RSQ | Возвращает квадрат коэффициента корреляции Пирсона |
| SKEW | Возвращает асимметрию распределения |
| SKEW_P | Возвращает асимметрию распределения на основе заполнения |
| SLOPE | Возвращает наклон линии линейной регрессии для точек данных |
| SMALL | Возвращает k-ое наименьшее значение в множестве данных |
| STANDARDIZE | Возвращает нормализованное значение для распределения, характеризуемого средним и стандартным отклонением |
| STDEV_P | Вычисляет стандартное отклонение по генеральной совокупности, заданной аргументами. При этом логические значения и текст игнорируются |
| STDEV_S | Оценивает стандартное отклонение по выборке. Логические значения и текст игнорируются |
| STDEVA | Оценивает стандартное отклонение по выборке |
| STDEVPA | Вычисляет стандартное отклонение по генеральной совокупности, заданной аргументами, которые могут включать текст и логические значения |
| STEYX | Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии. |
| T_DIST | Возвращает левостороннее t-распределение Стьюдента |
| T_DIST_2T | Возвращает двустороннее t-распределение Стьюдента |
| T_DIST_RT | Возвращает правостороннее t-распределение Стьюдента |
| T_INV | Возвращает левостороннее обратное t-распределение Стьюдента |
| T_INV_2T | Возвращает двустороннее обратное t-распределение Стьюдента. |
| T_TEST | Возвращает вероятность, соответствующую t-тесту Стьюдента |
| TREND | Возвращает значения по линейному тренду |
| TRIMMEAN | Возвращает среднее внутренности множества данных |
| VAR_P | Вычисляет дисперсию для генеральной совокупности. Логические значения и текст игнорируются |
| VAR_S | Оценивает дисперсию на основе выборки (игнорирует логические значения и текст в выборке) |
| VARA | Оценивает дисперсию на основе выборки, включая числа, текст и логические значения. |
| VARPA | Вычисляет дисперсию для генеральной совокупности |
| WEIBULL_DIST | Возвращает распределение Вейбулла |
| Z_TEST | Возвращает одностороннее P-значение z-теста |
| ASC | Преобразует символы полного (двойного) байта английских букв или катаканы внутри строки символов в символы половинного (одинарного) байта |
| ARRAYTOTEXT | Возвращает массив текстовых значений из любого указанного диапазона |
| BAHTTEXT | Преобразует число в текст, используя валютный формат ß (бат) |
| CHAR | Возвращает символ, указанный номером кода |
| CLEAN | Удаляет все непечатаемые символы из текста |
| CODE | Возвращает числовой код для первого символа в текстовой строке |
| CONCAT | Объединяет текст из нескольких диапазонов и/или строк, но не предоставляет аргументы разделителя или IgnoreEmpty. |
| CONCATENATE | Объединяет несколько текстовых элементов в один текстовый элемент |
| DBCS | Преобразует символы половинного (одинарного) байта английских букв или катаканы внутри строки символов в символы полного (двойного) байта |
| DOLLAR | Преобразует число в текст, используя валютный формат $ (доллар) |
| EXACT | Проверяет, идентичны ли два текстовых значения |
| FIND | Находит одно текстовое значение внутри другого (с учетом регистра) |
| FINDB | Находит одно текстовое значение внутри другого (с учетом регистра) |
| FIXED | Форматирует число как текст с фиксированным количеством десятичных знаков |
| LEFT | Возвращает крайние левые символы из текстового значения |
| LEFTB | Возвращает крайние левые символы из текстового значения |
| LEN | Возвращает количество символов в текстовой строке |
| LENB | Возвращает количество байтов, используемых для представления символов в текстовой строке. |
| LOWER | Преобразует текст в нижний регистр. |
| MID | Возвращает определенное количество символов из текстовой строки, начиная с указанной позиции |
| MIDB | Возвращает определенное количество символов из текстовой строки, начиная с указанной позиции |
| NUMBERSTRING | Преобразовать числа в китайские строки |
| NUMBERVALUE | Преобразует текст в число независимо от региональных стандартов |
| PHONETIC | Извлекает фонетические (фуригана) символы из текстовой строки |
| PROPER | Преобразует первый символ каждого слова в текстовом значении в заглавную букву |
| REGEXEXTRACT | Извлекает первые части текста, соответствующие регулярному выражению. |
| REGEXMATCH | Проверяет, соответствует ли текст регулярному выражению. |
| REGEXREPLACE | Заменяет часть строки на другой текст с помощью регулярного выражения. |
| REPLACE | Заменяет символы в тексте |
| REPLACEB | Заменяет символы в тексте |
| REPT | Повторяет текст заданное количество раз |
| RIGHT | Возвращает крайние правые символы из текстового значения |
| RIGHTB | Возвращает крайние правые символы из текстового значения |
| SEARCH | Находит одно текстовое значение внутри другого (без учета регистра) |
| SEARCHB | Находит одно текстовое значение внутри другого (без учета регистра) |
| SUBSTITUTE | Заменяет новый текст на старый текст в строке текста |
| T | Преобразует свои аргументы в текст |
| TEXT | Форматирует число и преобразует его в текст |
| TEXTAFTER | Возвращает текст, который находится после указанного символа или строки |
| TEXTBEFORE | Возвращает текст, который находится до указанного символа или строки |
| TEXTJOIN | Объединяет текст из нескольких диапазонов и/или строк |
| TEXTSPLIT | Разделяет текстовые строки, используя разделители столбцов и строк |
| TRIM | Удаляет из текста все пробелы, за исключением одиночных пробелов между словами. |
| UNICHAR | Возвращает Юникод-символ, на который ссылается заданное числовое значение |
| UNICODE | Возвращает номер (кодовый пункт), соответствующий первому символу текста |
| UPPER | Преобразует текст в верхний регистр |
| VALUE | Преобразует текстовый аргумент в число |
| VALUETOTEXT | Возвращает текст из любого указанного значения |
| CALL | Вызывает процедуру в динамической библиотеке или ресурсе кода |
| EUROCONVERT | Преобразует число в евро, преобразует число из евро в валюту страны-члена еврозоны или преобразует число из одной валюты страны-члена еврозоны в другую, используя евро в качестве промежуточного звена (триангуляция) |
| REGISTER_ID | Возвращает ID регистрации указанной динамической библиотеки (DLL) или ресурса кода, который был ранее зарегистрирован |
| ENCODEURL | Функция ENCODEURL возвращает строку в кодировке URL-адреса, заменяя некоторые небукенно-цифровые символы символами процента (%) и шестнадцатеричным числом. |
| FILTERXML | Функция FILTERXML возвращает определенные данные из XML-содержимого с помощью указанного xpath. |
| WEBSERVICE | Функция WEBSERVICE возвращает данные из веб-службы в Интернете или интрасети. |
Facade API
Подробные сведения см. в документации Facade API для FFormula.
Импорт
Примечание о режиме плагинов
Импортировать пакет Facade вручную требуется только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже включён, поэтому дополнительно импортировать его не нужно.
import '@univerjs/engine-formula/facade'import '@univerjs/sheets-formula/facade'import '@univerjs/sheets-formula-ui/facade'Открытие диалогового окна выбора диапазона
Пакет @univerjs/sheets-formula-ui/facade добавляет метод univerAPI.showRangeSelectorDialog. Используйте его, если в вашем интерфейсе пользователю нужно выбрать один или несколько диапазонов с помощью того же инструмента, который применяется в панелях для работы с формулами.
const workbook = univerAPI.getActiveWorkbook()const worksheet = workbook?.getActiveSheet()if (workbook && worksheet) { await univerAPI.showRangeSelectorDialog({ unitId: workbook.getId(), subUnitId: worksheet.getSheetId(), initialValue: [ { unitId: workbook.getId(), sheetName: worksheet.getSheetName(), range: worksheet.getRange('A1:B2').getRange(), }, ], maxRangeCount: 2, supportAcrossSheet: true, callback: (ranges, isCancel) => { console.log(ranges, isCancel) }, })}Запуск вычисления формул
const formulaEngine = univerAPI.getFormula()formulaEngine.executeCalculation()Остановка вычисления формул
const formulaEngine = univerAPI.getFormula()formulaEngine.stopCalculation()Начало вычисления формул
// Listening to formula calculation start eventconst formulaEngine = univerAPI.getFormula()formulaEngine.calculationStart((forceCalculate) => { console.log(forceCalculate)})Процесс вычисления формул
// Listening to formula calculation processing eventconst formulaEngine = univerAPI.getFormula()formulaEngine.calculationProcessing((stageInfo) => { console.log(stageInfo)})Завершение вычисления формул
// Listening to formula calculation end eventconst formulaEngine = univerAPI.getFormula()formulaEngine.calculationEnd((functionsExecutedState) => { console.log(functionsExecutedState)})Применение результатов вычисления формул
// Listening to formula calculation result applied eventconst formulaEngine = univerAPI.getFormula()formulaEngine.calculationResultApplied((result) => { console.log(result)})// Wait for formula calculation result to be appliedawait formulaEngine.onCalculationResultApplied()Установка режима вычисления формул при инициализации данных
const formulaEngine = univerAPI.getFormula()formulaEngine.setInitialFormulaComputing(CalculationMode.FORCED)Если вызвать этот API после этапа жизненного цикла Starting, настройка вступит в силу при следующем создании Univer Sheet.
Чтобы применить её во время текущей инициализации Univer Sheet, вызовите API до этапа жизненного цикла Ready, например:
univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => { if (stage === LifecycleStages.Starting) { const formulaEngine = univerAPI.getFormula() formulaEngine.setInitialFormulaComputing(CalculationMode.FORCED) }})Итерационные вычисления
Итерационные вычисления настраиваются для каждой книги и сохраняются в поле calculationSettings снимка. По умолчанию они выключены: циклические формулы сохраняют кэшированное значение или используют ноль, если его нет. Включайте их для моделей с намеренными циклическими ссылками.
| Параметр | По умолчанию | Поведение |
|---|---|---|
iterativeCalculation | false | Включает итерационные вычисления циклических ссылок. |
maxIterations | 100 | Целое число от 1 до 32767. |
maxChange | 0.001 | Конечный положительный порог сходимости. Вычисления останавливаются, когда изменение каждого числового результата циклической группы не превышает этот порог. |
Обновляйте все три параметра вместе через Facade книги. Команда поддерживает отмену, повтор и совместное редактирование; возвращает false, если книга отсутствует или недоступна для редактирования. Некорректные значения заменяются стандартными.
const workbook = univerAPI.getActiveWorkbook()if (!workbook) throw new Error('No active workbook')const applied = workbook.setCalculationSettings({ iterativeCalculation: true, maxIterations: 100, maxChange: 0.001,})if (!applied) throw new Error('Could not update calculation settings')console.log(workbook.getCalculationSettings())Поле calculationSettings также можно передать в createWorkbook(). Книги хранят настройки независимо. Те же параметры доступны в настройках вычислений на вкладке формул.
getCircularReferences() читает диагностику после применения результатов и не запускает вычисления. Результат содержит ID листов, координаты с нуля, ID циклических групп, число итераций и сведения о сходимости, если они доступны.
const formula = univerAPI.getFormula()formula.executeCalculation()await formula.onCalculationResultApplied()console.table(workbook.getCircularReferences())Получение результатов выполнения строковых формул
Метод асинхронно выполняет пакет формул и возвращает результаты вычислений:
const formulaEngine = univerAPI.getFormula()const formulas = { Book1: { Sheet1: { 2: { 3: [ // Full formula: '=SUM(A1:A10) + SQRT(D7)', // Decomposed sub-formulas (each one can be evaluated independently): 'SUM(A1:A10)', // sub-formula 1 'SQRT(D7)', // sub-formula 2 'A1:A10', // range reference 'D7', // single-cell reference ], }, 4: { 5: ['=A2 + B2 + SQRT(C5)', 'A2', 'B2', 'SQRT(C5)'], }, }, },}const result = await formulaEngine.executeFormulas(formulas)console.log(result)Пользовательские формулы
Univer поддерживает пользовательские формулы. Инструкции по их реализации приведены в разделе Пользовательские формулы.
Часто задаваемые вопросы
Не удаётся открыть гиперссылку из ячейки с формулой HYPERLINK
Необходимо импортировать плагин гиперссылок для Univer Sheets. Подробнее см. в разделе Гиперссылка.
Семантика значений формул
ISBLANK(A1) проверяет содержимое ячейки, а не только отображаемый результат. Очищенная ячейка пуста даже при сохранении формата; формула с результатом "" — нет. Литерал ISBLANK("") также даёт FALSE. UNIQUE сравнивает текст без учёта регистра, сохраняя первое написание. PROPER распознаёт буквы Unicode, включая латиницу с диакритикой, греческие и кириллические буквы. AVERAGE обрабатывает весь массив, возвращаемый, например, FILTER.
=ISBLANK("") → FALSE=UNIQUE({"Univer";"univer";"Sheets"}) → {"Univer";"Sheets"}=PROPER("élise müller") → Élise Müller=AVERAGE({3;7}) → 5Насколько полезно это руководство?