Excel-检索数组中的值

时间:2019-05-16 08:12:34

标签: arrays excel indexing

在我的组织中,有几个excel函数可以返回大数组,例如2000多个行和几列。

虚拟代码/虚拟示例:

{=FunctionThatReturnArray(param1)}

其中param1是日期

Screenshot

我需要检索“鞋子”,“黄色”组合在不同日期的售价。

我不想在每个感兴趣的日期显示整个数组。

相反,我只想显示所需的值。

我试图按如下方式使用Index函数,但由于Shoes / Yellow组合并不总是位于第五行,所以它不起作用。

{=INDEX(FunctionThatReturnArray(param1),5,4)}

其中5是行号,4是列号

我认为我需要以某种方式使用“匹配功能”,但要在2个不同的列上使用。

如果不在工作表上显示整个数组,怎么办?

预先感谢和亲切问候 拉哥

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您想要的答案,但是您是对的,您必须在第二列和第三列上都进行匹配,然后像这样索引到第四列:

=INDEX({43466,"Pants","Yellow",40;43466,"Shirt","Green",20;43466,"Shoes","Blue",70;43466,"Shoes","Yellow",75},MATCH(1,
(INDEX({43466,"Pants","Yellow",40;43466,"Shirt","Green",20;43466,"Shoes","Blue",70;43466,"Shoes","Yellow",75},0,2)=B2)*
(INDEX({43466,"Pants","Yellow",40;43466,"Shirt","Green",20;43466,"Shoes","Blue",70;43466,"Shoes","Yellow",75},0,3)=C2),0),4)

在我使用数组常量对其进行测试的地方,您将需要对Array函数的多个引用才能实现此目的。

enter image description here

BTW 43466是2019年1月1日的数字表示形式。