我正在尝试在Excel中以数组格式使用INDEX,但是遇到了问题。
从以下问题开始:Return array from INDEX function?,似乎“ INDEX(如VLOOKUP)不返回值数组(在某些复杂情况下除外)”
所以我想知道有什么替代方案。
我正在尝试这样做:
=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}),而是使用动态日期数组,目的是删除数组的第一个元素{ 39618,39619,39638,39639},这就是为什么我使用INDEX的原因。
编辑:寻找避免使用VBA的解决方案
答案 0 :(得分:4)
尝试以下数组公式:
= INDEX({39618,39619,39638,39639},N(IF({1},{2,3,4})))
这将返回您想要的内容:{39619,39638,39639}
。
请注意,这是一个数组公式,因此在键入此公式后,您必须按键盘上的 Ctrl + Shift + Enter ,而不是按 Enter 。
(还要注意,它适用于动态范围,而不仅仅是硬编码数组。)