Excel:基于多个列标准的行搜索

时间:2018-05-27 04:28:04

标签: excel excel-vba excel-formula vba

我们说我有这个:

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

AD是我可以输入的单元格。基于这4个,EG会找到正确的行并显示正确的输出值

我尝试使用vlookup作为数组公式(CSE),但它没有给我正确的答案。它返回Input1匹配的最后一行的值(无论其他匹配的是什么)。谁知道我怎么能做到这一点?

修改

这是我在E中为单元格尝试的公式:

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

其中I2:L2是值为AD的单元格的范围,A2:G4是整个原始数据集。

当输入为18111时,公式的评估结果为1,而此值应与第一行匹配并进行评估到4

1 个答案:

答案 0 :(得分:2)

如果A:D制作独特的组合,那么你可以在M2中使用这样的SUMIFS,

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

向右和向下拖动。

如果A:D不进行独特的组合,则需要进行多列查找,可能使用INDEX / AGGREGATE;您还需要知道要检索的四列匹配。

enter image description here