在我的组织中,有几个excel函数可以返回大数组,例如2000多个行和几列。
虚拟代码/虚拟示例:
{=FunctionThatReturnArray(param1)}
其中param1是日期
我需要检索“鞋子”,“黄色”组合在不同日期的售价。
我不想在每个感兴趣的日期显示整个数组。
相反,我只想显示所需的值。
我试图按如下方式使用Index函数,但由于Shoes / Yellow组合并不总是位于第五行,所以它不起作用。
{=INDEX(FunctionThatReturnArray(param1),5,4)}
其中5是行号,4是列号
我认为我需要以某种方式使用“匹配功能”,但要在2个不同的列上使用。
如果不在工作表上显示整个数组,怎么办?
预先感谢和亲切问候 拉哥
答案 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函数的多个引用才能实现此目的。
BTW 43466是2019年1月1日的数字表示形式。