Excel HSTACK 和 VSTACK 数组函数的 Polyfill

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 ),包括HSTACKVSTACK,它们组合了多个数组通过水平或垂直“堆叠”它们(毫不奇怪!)将它们合二为一。新功能目前仅对Beta通道的部分用户开放。

我正在构建一个电子表格,其中这些功能非常有用,但它必须由当前频道中的其他用户使用。我有三个“表”(不是 Excel 表,而是表=形状的数据网格),具有相同的列,其中每列都是一个数组公式。我想将它们合并到一个表中,并将整个内容引用为一个数组。

是否可以使用其他数组公式来实现某些HSTACK版本VSTACK

笔记:

  • 我已经可以访问其他稍旧的数组公式,例如SEQUENCE, FILTER, MAP, SCAN, REDUCE, 以及LAMBDA.

  • 我认为与本机实现相比,任何替换公式都会非常低效,但这对我来说不是问题。

  • 就我而言,我已经知道数组将具有兼容的大小(例如HSTACK3 行 x 2 列和 3 行 x 4 列数组),但我事先不知道大小。

  • 纯公式比 VBA UDF 更可取,但后者也可能是一个很好的解决方案。

Sco*_*ner 5

这是一个执行垂直堆叠的公式,范围可以用数组替换,但它只执行两个并且不如新公式那么强大:

=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)

在此输入图像描述

  • 我计划回家后用新配方更新两者。我自己的excel上有它们,但工作中没有。 (3认同)
  • 实际上,在您的链接上,jvdv 已经负责添加到他们的链接中。所以我会跳过这一点。 (2认同)