在 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。)