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