如何应用sumif函数对满足小于某一值的单元格求和

如:A1=2009-2-1;B,C,D列值如下
2009-1-1 2009-2-1 2009-3-1
1 2 3
2 3 4
3 4 5
4 5 6
5 6 7
我要对小于A1月份的值求和,写公式
sumif(B1:D1,"<MONTH(A1)",B2:D2),求和结果应该是3,为什么是0,
应该是中间的条件出了问题,应该怎么写?

第1个回答  推荐于2016-12-02
按你的意思,求和结果不是3,应该是2。错误在"<month(A1)"这里,正确的写法是
=sumif(b1:d1,"<"&month(A1),b2:d2)=2,你试一下。追问

我试了,,"<"&month(A1),条件是<2,但是求和的结果是0,不是1,原因在那里?

追答

你输入的完整公式是什么?发来看看

追问

sumif(B1:D1,"<“&MONTH(A1),B2:D2),跟你写的一样。是不是因为b1:D1都是年份,年份值都比2大,这样返回的结果是0,?如果我要对年份小于a1的值求和应该怎么写

追答

什么叫“年份小于a1的值”?不解

追问

就是针对b1:d1的月份比a1的月份小的单元格求和.
前面我写错了,我是怀疑b1:d1都是日期值,可能比条件,"<"&month(A1),大,这样小于2的值都是0了。
按道理说公式是没有错的,难道是excel有问题

追答

直接用数组公式:
=sum((MONTH(B1:D1)<MONTH(A1))*(B2:D2))
刚开始我没注意到还有2009-1-1 2009-2-1 2009-3-1这一行。

追问

没有用过数组公式,按照你写的粘贴上去,结果是#VALUE!,百度了一哈,ctrl+shift+enter,结果真的是1了。大虾,但是我这个是想嵌套在if函数中的一部分函数,我用if函数对不同年份中的某月求累加值,这样好像不能继续用这个数组公式吧。。

追答

可以的

本回答被提问者采纳
相似回答