如何在VLOOKUP中获得范围条件?

时间:2014-04-14 11:59:02

标签: excel

我在Excle文件中有下表,我想找到相应输入的值列。

Col A   Col B   Col C   Min  Max    Value
101      AA      High   0    10   1%
101      AA      High   11   20   2%
101      AA      Low    0    10   3%
101      AA      Low    11   20   4%
101      BB      High   0    10   5%
101      BB      High   11   20   6%
101      BB      Low    0    10   7%
101      BB      Low    11   20   8%

对于输入101,AA,低,12 - 我应该得到4% 我已经尝试过Formula Array并且它工作得很好,但是prerformnace并不是那么好,因此我想离开。另外,我不想使用DSUM或VBA。我想用普通的Excel公式实现。请帮忙

2 个答案:

答案 0 :(得分:1)

如果你使用这个版本,它可以返回文字或数字 - 如果没有匹配你得到#N / A

=LOOKUP(2,1/(A2:A9=101)/(B2:B9="AA")/(C2:C9="Low")/(D2:D9=11),F2:F9)

如果有多个匹配行返回最后 - 对于第一个,请尝试使用此版本:

=INDEX(F2:F9,MATCH(1,INDEX((A2:A9=101)*(B2:B9="AA")*(C2:C9="Low")*(D2:D9=11),0),0))

答案 1 :(得分:0)

如果没有重复的行,您可以使用以下公式:

for Excel 2007或更高版本:

=SUMIFS(F2:F9,A2:A9,101,B2:B9,"AA",C2:C9,"Low",D2:D9,"<="&12,E2:E9,">="&12)

for Excel 2003:

=SUMPRODUCT((F2:F9)*(A2:A9=101)*(B2:B9="AA")*(C2:C9="Low")*(D2:D9<=12)*(E2:E9>=12))

其中101"AA""Low"12可以更改为单元格引用(例如G1G2等等)

enter image description here