Excel 中的反向匹配搜索

Reverse Match Search in Excel

我需要match/index从右到左反向搜索

每个单元格都有一个 x 我需要从右到左找到 x 在哪一列并报告位置,这样就可以转到该列的顶部并提取该数据。我基本上需要找出最后一个 X 是哪一列。

A         B        C        D    E          F      G      H      I       J
State   27-Aug  28-Aug  29-Aug  30-Aug  31-Aug  1-Sep   2-Sep   3-Sep   4-Sep
VI       X        X       X        X       X      X     

在上面的示例中,3 行 10 列,如果我想看到最后一个 X 在 G(7) 列中,那么我使用索引转到该列 (7),A 行到 1-sep 作为回答。

这将找到最后一个有值的单元格,不管值是什么:

=INDEX($A:$J,MATCH("zzz",A2:J2))


如果要查找最后一个 X,无论其他任何单元格中有或没有,请使用此公式:

=INDEX($A:$J,AGGREGATE(14,6,COLUMN(A2:J2)/(A2:J2="X"),1))

请注意:这是一个数组类型的公式,会比之前的公式慢。如果你只有一个,那不会有什么不同。如果你有数百个,你会看到不同。

但是如果您在 X 之后还有其他文本字符串并且您想要 X 那么这是正确的选择。

试用

=INDEX(1:1,1,COUNTIF(2:2,"X")-1) 

假设 X 的流中没有间隙

=MATCH(2,IF(A2:J2="x",1,FALSE))

这是一个数组公式。 这将为您提供 x 的最后位置。然后,就像您指出的那样,将结果放入 INDEX 函数中,您应该会很好。我喜欢这个选项,因为我可以在 if 语句中放入任何条件,比如 >0.