Excel匹配和索引以2列和1行条件select值
我试图写一个公式,可以返回一个单元格值使用INDEX
和MATCH
但我不能使它的工作。 我有以下设置:
year person pet friend sale 1 jeff scout matt computer 1 carole riley tom mouse 2 jeff sadi trung computer 2 carole daisy ellen mouse
说我有三个单元格:
year 2 col person sale mouse RESULT: carole [year = 2, sale = mouse, column value from 'person']
有没有一种方法,我可以使用索引和匹配在特定的单元格归零? 我将永远有一年和销售提供。 然而,列(人,宠物或朋友)将改变,所以我需要find年份和鼠标匹配单元格的特定列中的值。
一旦我得到一个公式的工作,我会写一个更通用的function,但我需要帮助让INDEX / MATCH组合正常工作。
您可以使用Index和sumProduct的组合:
=INDEX(Table1[[person]:[friend]],SUMPRODUCT(--(Table1[year]=J1)*--(Table1[sale]=J2)*ROW(Table1[[#Data],[year]]))-1,MATCH(J3,{"person","pet","friend"},0))
这将在下面的例子中起作用:
所以J1包含要查找的年份,J2包含销售名称,而J3是要从中返回值的列。
另一个select是将一个连接的列添加到您的表中具有年份和销售值:
你会然后更改公式为:
=INDEX(Table1[[person]:[friend]],MATCH(K1&K2,Table1[Year&Sale],0),MATCH(K3,{"person","pet","friend"},0))
稍微短一些,反而更快。
注意:这可能不适用于2010年以下版本的Excel,如果您运行的是旧版本,我可以提供修改后的答案。