Документация HotXLS

Текстовые и статистические аргументы-массивы

Текстовые и статистические сборщики принимают поддерживаемые вычисляемые массивы, обычные ссылки и определённые имена через типизированный обходчик операндов в порядке строк; скалярные аргументы сохраняют нативные правила приведения каждой функции

Текстовая композиция

Sheet.Cells[1, 1].Formula := 'TEXTJOIN(",",TRUE,SEQUENCE(3))';
Sheet.Cells[2, 1].Formula := 'CONCAT(SEQUENCE(2,2))';

TEXTJOIN и CONCAT обходят вычисляемые массивы и поддерживаемые ссылки в порядке строк, сохраняют вложенность и типизированные значения и пробрасывают встреченную ошибку, а не превращают её в обычный текст

TEXTJOIN применяет свои опции разделителя и игнорирования пустых ко всей последовательности; опущенные и пустые значения следуют тому же контракту опций, а результат остаётся ограниченным 32767 символами

Классический контракт формул BIFF остаётся отдельным: CONCAT — не BIFF-нативная функция, тогда как поддерживаемые классические статистические CSE-формулы остаются доступны

Статистическая композиция

Sheet.Cells[3, 1].Formula := 'MEDIAN(SEQUENCE(4))';
Sheet.Cells[4, 1].Formula := 'PERCENTILE.EXC(SEQUENCE(5),0.5)';
Sheet.Cells[5, 1].Formula := 'COVARIANCE.P(SEQUENCE(3),SEQUENCE(3)*2)';

Поддерживаемые потребители массивов значений включают MEDIAN, LARGE, SMALL, PERCENTILE.INC, PERCENTILE.EXC, QUARTILE.INC, QUARTILE.EXC, PERCENTRANK.INC, PERCENTRANK.EXC, MODE.MULT и COVARIANCE.P, включая поддерживаемые унаследованные псевдонимы процентилей, квартилей и процентных рангов

Числовые сборщики игнорируют Boolean и текстовые записи внутри массивов и ссылок там, где так делает нативная функция; напрямую поданные скаляры Boolean или числового текста могут следовать другим правилам приведения, а MODE.MULT игнорирует текст и Boolean даже как прямые скалярные аргументы

COVARIANCE.P сопоставляет операнды по исходным позициям и включает позицию, только когда оба значения числовые; независимое уплотнение каждого операнда сопоставило бы несвязанные записи и дало неверный результат

LARGE округляет поддерживаемый дробный ранг вверх, а SMALL усекает его; ранги меньше единицы отклоняются с #NUM!, а эксклюзивные конечные точки процентилей, равные поддерживаемому минимуму или максимуму ранга, остаются валидными

Чётный MEDIAN избегает переполнения суммы одноимённых знаков для конечных входов; экстремальные противоположные значения сохраняют проверенное нативное поведение численной погрешности, а не выдают неверный результат плавающей точки

Функции, требующие ссылок

RANK, RANK.EQ и RANK.AVG сохраняют семантику настоящей ссылки для своего ссылочного аргумента, включая поддерживаемые выражения INDEX, производящие ссылки

Литеральный или вычисленный массив значений не подставляется в этот аргумент, а определённое имя, вычисляющееся в SEQUENCE, остаётся массивом значений, не превращаясь в ссылку на диапазон

Имена, изменения зависимостей и spill

Абсолютные источники определённых имён и вложенные вычисляемые имена отслеживают зависимости источника, меняют размер и переживают поддерживаемые циклы сохранения и повторного открытия; относительные ссылки разрешаются в каждой позиции потребителя, поэтому используйте абсолютную ссылку, если имя должно сохранять одну фиксированную исходную ячейку

Numbers = SEQUENCE(Arrays!$A$1)

MODE.MULT сохраняет обычное изменение размера spill, поведение препятствий и повторного открытия; поддерживаемые классические статистические CSE-формулы сохраняют свой контракт фиксированного вывода

Лимиты ресурсов и границы

Обход операндов, числовая сборка, сортировка и построение результата соблюдают активный бюджет шагов вычисления и FormulaArrayMemoryLimit; исчерпание ресурсов следует существующему контракту диагностики вычисления

Эти сборщики не превращают каждую функцию в потребителя массивов значений, не меняют возможности формул формата хранения и не ослабляют существующие границы неподдерживаемых внешних ссылок и spill