手机版

用Sumifs函数查找价格

时间:2021-09-17 来源:互联网 编辑:宝哥软件园 浏览:

嗨,你那些经常做表格的表兄弟、表姨、表兄弟、表兄弟、小编辑们,有没有遇到过下面这种带区间的单价多条件查询?图01。

为了方便,我把匹配区域(A1:D10)和结果区域(F2:K4)放在了一起。

需求是查询一个品类在对应时间段的价格。

这个时间段对很多人来说真的很难。如果值是固定的,可以使用辅助列,将它们链接在一起,然后使用Vlookup函数找到它们。

但是在那个时间范围内找有点难!不要害怕,如果你知道规则,方法会困难得多。我不是在图中列出了三个公式吗?

解决方案1:

一般逻辑,既然是求返回值,我们可以用的函数有VLookup、HLookup和Lookup。Hlookup在这里不适用,所以Vlookup是“不行”的,所以用lookup,毕竟lookup还是很强大的。看公式1,图片02。

公式如下:

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

公式说明:参数1没什么损失,参数2比较长,一步一步理顺就明白了。

比较A3:A10和F3,要求是一样的,所以用等号比较。

B3:B10与G3比较,b列为起始日期,所以必须小于等于G3。

比较C3:C10和G3,c列是结束日期,所以必须大于等于G3。

比较结果为真或假。

看测试图03。

为了比较方便,我把它们包起来,比较方便。

这个结果是怎么出来的?选择$A$3:$A$10=F3,只需按F9。后两者相同。

这个时候,你可能会有点头晕,不明白。请简单解释一下。不是分三段比较吗?

这些是比较结果,符合条件为真,不符合条件为假。

在比较结果可用后,应合并三个部分的结果。这里,*用于运算,而*是乘法运算。

只有当为真*真时,才会返回真(和的效果)。

那么我们来看看计算结果吧!图04。

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

用0分开这些内容,以便将0转换为错误值。再看图05。

为什么要将其转换为错误值?

我们的星空女神很久以前就给Lookup函数发了一个详细的解决方案。如果你感兴趣,就去搜索并学习它。毕竟Lookup也很强大。

查找的思想在这里得到了解决。用它来求解,因为它是一个查找函数,可以返回任意值,同时帮助我们理清思路!

解决方案2:

这里我们要返回的值是一个数字,限定结果是唯一的,所以可以使用求和函数!

继续刚才的思路,改变Sum函数继续测试,看公式2和图06。

公式如下:

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

与Lookup的区别在于Lookup的D3:D10作为参数3,而*在Sum中仍然使用,原理与Lookup参数2相同!

需要注意的是,这是一个数组公式,输入后要用Ctrl Shift Enter完成,否则结果可能不正确。

使用office365(版本12722.200006)的用户不需要三个键,它可以自动识别和计算正确的值。

看到这里,你还是会说:我不想总结,该不该找?

解决方案3:

由于Sum函数可以得到结果,所以我们可以使用Sumifs函数返回所需的值。

如果使用Sumifs函数,会简单很多。请看公式图07。

第五行使用公式返回公式字符数,可以看到Sumifs字符最少(缺少行号和绝对引用符号)。

=LEN(公式文本(JBOY3乐队))

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

首先,我们需要返回的结果是数字;

第二,合格结果是唯一的。

如果其中一个不满意,就不能使用Sumifs函数!

如果通过特征来解决问题,可以得到更好的解决方案。如果想通用(比如返回的结果可能有数字和字符串),公式会更复杂(使用Lookup)!

版权声明:用Sumifs函数查找价格是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。