文本与统计数组参数
文本与统计收集器通过类型化的行优先操作数遍历器接受受支持的计算数组、普通引用和定义名称;标量参数保持各函数原生的强制转换规则
文本组合
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,也涵盖受支持的旧式百分位、四分位和百分比排名别名
原生函数忽略数组和引用内部的布尔与文本条目时,数值收集器同样忽略;直接传入的布尔或数字文本标量可能遵循不同的强制转换规则,而 MODE.MULT 即使面对直接标量参数也会忽略文本和布尔值
COVARIANCE.P 按原始位置配对操作数,只有两个值都是数字的位置才被纳入;如果各自独立压缩操作数,就会把不相关的条目配在一起并得出错误结果
LARGE 对受支持的小数排名向上取整,SMALL 则截断;低于 1 的排名以 #NUM! 拒绝,而等于受支持最小或最大排名的排他百分位端点仍然有效
偶数个数的 MEDIAN 对有限输入避免同号求和溢出;极端对立值保持经过验证的原生数值误差行为,而不是产生无效的浮点结果
要求引用的函数
RANK、RANK.EQ 与 RANK.AVG 的引用参数保持真实引用语义,包括产生引用的 INDEX 表达式
字面量或计算得到的值数组不会顶替该参数,求值为 SEQUENCE 的定义名称仍是值数组,不会变成区域引用
名称、依赖变更与溢出
绝对定义名称源和嵌套计算名称跟踪源依赖、随数组缩放,并能在受支持的保存/重新打开周期中存活;相对引用在每个使用位置解析,所以名称需要固定指向一个源单元格时应使用绝对引用
Numbers = SEQUENCE(Arrays!$A$1)
MODE.MULT 保持正常的溢出缩放、受阻与重新打开行为;受支持的经典 CSE 统计公式维持其固定输出契约
资源限制与边界
操作数遍历、数值收集、排序与结果构造都遵循生效的计算步数预算和 FormulaArrayMemoryLimit;资源耗尽按既有的计算诊断契约处理
这些收集器不会让所有函数都变成值数组消费者,不改变存储格式的公式能力,也不放宽既有的不支持外部引用与溢出边界