【问题标题】:Excel lookup in multiple column array, return rowExcel在多列数组中查找,返回行
【发布时间】:2014-05-14 20:10:21
【问题描述】:

我需要在表中查找某项的值,然后返回它所在的行。该值可以在任何列中,因此 Match 似乎并不理想。最好的方法是什么?

例如,假设表格有 2 列。第 1 列有 A、B、C、D。第 2 列有 E、F、G、H。我想找出“G”在哪一行,所以我想在事先不知道“G”的情况下以某种方式返回“3” " 在第 2 列中。

【问题讨论】:

  • 数据是否重复? (即,“G”在您的示例中会出现多次吗?)如果重复,您想要第一次出现还是最后一次出现?

标签: arrays excel row lookup


【解决方案1】:

请尝试:

=IFERROR(MATCH("g",A:A,0),MATCH("g",B:B,0))  

如果有更多列,依此类推。

【讨论】:

    【解决方案2】:

    假设您的数据没有重复,鉴于此布局:

    Column 1    Column 2
    A           E
    B           F
    C           G
    D           H
    

    ,这个公式:

    =MAX(IF(A1:B5="G",ROW(A1:B5),0))
    

    会做你想做的事。在这种情况下,它会返回 4。它还可以处理无限多的列(如果没有重复,很多列也可能会影响性能)

    这是一个数组公式,所以你必须用 Ctrl + Shift + Enter

    来确认它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多