多行的Excel INDEX MATCH公式

时间:2016-05-04 02:27:14

标签: excel matrix indexing formula

我的Excel电子表格遇到了问题,希望得到一些指导。我有一个包含多个标签的电子表格,在“矩阵”标签中,如果{{1}中的任何单元格中存在“1”,我会尝试让单元格B2为数据'Matrix Patch' Row 1:1编制索引}。我目前使用的公式是:

Rows 72:191

我得到的答案总是不适用。

如果我使用的话,我可以使用它:

=INDEX('Matrix Patch'!1:1,MATCH(1,'Matrix Patch'!72:191,0))

但只有在第72行中有“1”时才有效。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

匹配仅适用于1维数组,因此我们需要使用不同的东西。

任何答案都是数组公式,我们应该将其限制为数据集列,没有完整的行引用

所以我们使用以下内容:

=INDEX('Matrix Patch'!A1:INDEX('Matrix Patch'!1:1,MATCH("ZZZ",'Matrix Patch'!1:1)),AGGREGATE(15,6,COLUMN('Matrix Patch'!A72:INDEX('Matrix Patch'!191:191,MATCH("ZZZ",'Matrix Patch'!1:1)))/('Matrix Patch'!A72:INDEX('Matrix Patch'!191:191,MATCH("ZZZ",'Matrix Patch'!1:1))),1))

这将返回在第72行中找到1的第一列到91。

如前所述,数组公式应避免在计算中使用完整列或完整行引用。我输入INDEX('Matrix Patch'!1:1,MATCH("ZZZ",'Matrix Patch'!1:1)),找到第1行中包含文本的最后一列,并将其设置为要查看的最后一列。

如果第1行:1行有数字而不是文字,那么我们需要将所有"ZZZ"更改为1E+99。然后它会在第1行找到最后一列数字。