use*_*348 1 excel excel-formula array-formulas
Microsoft 宣布了许多新的数组函数 ( https://techcommunity.microsoft.com/t5/excel-blog/announcing-new-text-and-array-functions/ba-p/3186066 ),包括HSTACK
和VSTACK
,它们组合了多个数组通过水平或垂直“堆叠”它们(毫不奇怪!)将它们合二为一。新功能目前仅对Beta通道的部分用户开放。
我正在构建一个电子表格,其中这些功能非常有用,但它必须由当前频道中的其他用户使用。我有三个“表”(不是 Excel 表,而是表=形状的数据网格),具有相同的列,其中每列都是一个数组公式。我想将它们合并到一个表中,并将整个内容引用为一个数组。
是否可以使用其他数组公式来实现某些HSTACK
版本VSTACK
?
笔记:
我已经可以访问其他稍旧的数组公式,例如SEQUENCE
, FILTER
, MAP
, SCAN
, REDUCE
, 以及LAMBDA
.
我认为与本机实现相比,任何替换公式都会非常低效,但这对我来说不是问题。
就我而言,我已经知道数组将具有兼容的大小(例如HSTACK
3 行 x 2 列和 3 行 x 4 列数组),但我事先不知道大小。
纯公式比 VBA UDF 更可取,但后者也可能是一个很好的解决方案。
这是一个执行垂直堆叠的公式,范围可以用数组替换,但它只执行两个并且不如新公式那么强大:
=LET(
rngone,A1:D6,
rngtwo,E1:I6,
rwone,ROWS(rngone),
mxseq,SEQUENCE(,MAX(COLUMNS(rngone),COLUMNS(rngtwo))),
seq,SEQUENCE(rwone+ROWS(rngtwo)),
IFERROR(CHOOSE((seq>rwone)+1,INDEX(rngone,seq,mxseq),INDEX(rngtwo,seq-rwone,mxseq)),""))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2058 次 |
最近记录: |