在 Excel(但不使用 VB)中,如何将一个动态数组中的某些列连接到另一个动态数组中的列,以使结果也是一个动态数组?
这是一个非常简单的例子。假设我有两个等长的 2 列动态数组。第一个在 A1:B5 中,第二个在 D2:E6 中。我想在 G3:H7 中创建一个新的第三个动态数组,以便 G3:G7 包含 A1:A5 中的任何内容,而 H3:H7 包含 E2:E6 中的任何内容。这是一个插图。
| A | B | C | D | E | F | G | H |
—|———+———+———+———+———+———+———+———|
1| a | 1 | | |. | | | |
2| b | 3 | | f | 0 | | | |
3| c | 5 | | g | 2 | | a | 0 |
4| d | 7 | | h | 4 | | b | 2 |
5| e | 9 | | i | 6 | | c | 4 |
6| | | | j | 8 | | d | 6 |
7| | | | | | | e | 8 |
—————————————————————————————————-
现在我已经知道我可以使用以下公式创建第三个数组:
G3 = INDEX(A1#,0,1)
H3 = INDEX(D2#,0,2)
但是,这给了我两个 1 列动态数组形式的结果,而我希望它是一个 2 列动态数组。
目前,我的方法是将 G3:G7 视为辅助数组,然后使用以下内容创建我想要的最终动态版本:
J3 = OFFSET(G3,0,0,ROWS(A3#),2)
我什至可以拼凑出一些怪物来摆脱对助手的需求。但这是一种常见的操作形式,我希望可能有一种更优雅、“规范”的方法,或许可以利用新的动态数组函数本身。
谁能推荐一个?(同样,请不要使用 Visual Basic。)
使用 Office 365 中的当前函数,我们可以将 CHOOSE 与水平数组一起使用:
这将并排堆叠两个垂直阵列
当当前 Beta 频道项目发布给普通用户时,我们可以使用 VSTACK: