Return 来自 Excel 中的 INDEX 函数的数组?

Return array from INDEX function in Excel?

我正在尝试在 Excel 中使用数组格式的 INDEX,但我 运行 遇到了问题。

从这个问题来看:Return array from INDEX function?,好像是"INDEX (like VLOOKUP) doesn't return an array of values (except in some convoluted circumstances)"

所以我想知道还有哪些替代方案。

我正在尝试这样做:

=qlTimeSeries( ,
               INDEX({39618,39619,39638,39639},{2,3,4}),
               INDEX({18,19,38,39},{2,3,4})
               )

并且 Index 未返回数组。

关于如何使用 INDEX({39618,39619,39638,39639},{2,3,4}) 获得我试图获得的结果的其他想法? 即从 {39618,39619,39638,39639} 得到 {39619,39638,39639} 回来?

注意:我的电子表格实际上使用的是动态日期数组,而不是 INDEX({39618,39619,39638,39639},{2,3,4}),objective 是删除数组的第一个元素 {39618,39619,39638,39639} 这就是我使用 INDEX 的原因。

编辑:寻找避免使用 VBA

的解决方案

试试这个数组公式:

= INDEX({39618,39619,39638,39639},N(IF({1},{2,3,4})))

这将 return 您想要的:{39619,39638,39639}

注意这是数组公式,所以必须按Ctrl+Shift+Enter 在键入此公式后在键盘上,而不是仅按 Enter.

(另请注意,这适用于动态范围,而不仅仅是硬编码数组。)