代码之家  ›  专栏  ›  技术社区  ›  Jai

Excel:基于多列条件的行搜索

  •  1
  • Jai  · 技术社区  · 6 年前

    假设我有这个:

    Input1 Input2 Input3 Input4 Output1 Output2 Output3
      1      1      1      1      4       20      11
      1      12     7      14     18      11      8
      4      2      18     7      0       6       16
    

    输入值形成一个唯一键(就像SQL中的复合主键)。所以每个输入列可以有重复的值,但整个集合不能重复。

    然后我用这个搜索和显示数据:

    Input1 Input2 Input3 Input4 Output1 Output2 Output3
      A      B      C      D       E       F       G
    

    A D 是我可以输入的单元格。基于这4点, E G 将找到正确的行并显示正确的输出值。

    我试过用 vlookup 作为数组公式(CSE),但它没有给出正确的答案。它将返回最后一行的值, Input1 匹配(无论其他匹配)。有人知道我怎么做到的吗?

    编辑

    这是我试过的公式 e :

    {=VLOOKUP(I2:L2, A2:G4, 5)}
    

    在哪里? I2:L2 是包含值单元格的范围 D , A2:G4 是一整套原始数据。

    公式的计算结果为 18 当输入为 1 , , , ,而此值应与第一行匹配并计算为 4 .

    1 回复  |  直到 6 年前
        1
  •  2
  •   user4039065    6 年前

    如果A:D进行独特的组合,那么您可以在m2中使用类似的SUMIF,

    =SUMIFS(E:E, $A:$A, $I2, $B:$B, $J2, $C:$C, $K2, $D:$D, $L2)
    

    向右和向下拖动。

    如果a:d不进行唯一组合,则需要进行多列查找,可能需要索引/聚合;还需要知道要检索哪四列匹配。

    enter image description here