在Excel中反向匹配搜索

时间:2017-09-28 15:05:19

标签: excel excel-formula match reverse

我需要从右到左反向进行匹配/索引搜索

每个具有x i的单元格需要从右到左查找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作为答案。

3 个答案:

答案 0 :(得分:4)

这将找到具有值的最后一个单元格,无论其值如何:

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

enter image description here

如果您想查找最后一个X,无论其他任何单元格中是什么或不存在,请使用以下公式:

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

一个注意事项:这是一个数组类型公式,比前一个公式要慢。如果你只有一个,它将没有什么区别。如果你有百分之一,你会看到差异。

但是,如果您在X后面有其他文字字符串,而您想要X,那么就可以了。

enter image description here

答案 1 :(得分:1)

试试

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

假设X的流中没有间隙

答案 2 :(得分:0)

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

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