各位用户为了找寻关于用Sumifs函数查找价格的资料费劲了很多周折。这里教程网为您整理了关于用Sumifs函数查找价格的相关资料,仅供查阅,以下为您介绍关于用Sumifs函数查找价格的详细内容

嗨,各位经常做表格的表叔、表婶、表哥、表姐、表弟、表小编们有没有遇到过下面这样的多条件带区间查询单价的情况呢?图01

公式如下:

=LOOKUP(,0/(($A$3:$A$10=F3)*($B$3:$B$10<=g3)*($c$3:$c$10>=G3)),$D$3:$D$10)

公式解释:参数1什么都没输,参数二则比较长了,一步一步理,理顺了就明白了

A3:A10和F3进行比较,要求是一样的,所以用等于比较

B3:B10和G3进行比较,B列是起始日期,那它肯定要小于或等于G3了,

C3:C10和G3进行比较,C列是结束日期,那它肯定要大于或等于G3了。

比较结果不是True 就是False

来看一下测试图03

咦,怎么成了1和0 了?因为在Excel中,True可以用1表示,Fasle可以用0表示,做了数学运算后,就自动转换成数字了!

再用0来分别除这些内容,目的将0转换为错误值。再来看图05

公式如下:

=SUM(($A$3:$A$10=F3)*($B$3:$B$10<=g3)*($c$3:$c$10>=G3)*$D$3:$D$10)

和Lookup的区别是Lookup的D3:D10是作为参数三来使用的,而Sum里依然用的*来运算,原理和Lookup参数2是一样的!

需要注意的是,这是数组公式,录入好以后要用 Ctrl + Shift + Enter 三键结束,否则结果可能不正确

使用office365(版本12725.200006)的用户不必三键,它能自动识别并运算出正确值。

看到这里,你还会说:我不要求和,我要查找吗?

解法三:

既然用Sum函数能求出来结果,那我们就能使用Sumifs函数来返回所需要的值了。

使用Sumifs函数的话,那就简单多了,来看公式图07

第5行使用了公式来返回公式字符数,可以看出Sumifs字符是最少的(少了行号和绝对引用符号)

=LEN(FORMULATEXT(J3))

这个查找问题为什么可以用求和函数来解?因为它满足了以下两个条件,

第一:我们需要返回的结果是数字;

第二:符合条件的结果是唯一的。

若是其中一点不满足那就不能使用Sumifs函数!

解决问题从特征上来解,可以得到更优的解法,若是想要做到通用(比如返回的结果可能有数字也有字符串),那公式就会复杂一些(使用Lookup)!