我在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公式实现。请帮忙
答案 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
可以更改为单元格引用(例如G1
,G2
等等)