带有日期和名称标准的SUMIFS ...仅限月份和年份

时间:2015-02-17 16:58:10

标签: excel date excel-formula sumifs

我正在尝试获取SUMIFS公式来检查日期列,并仅对与标准日期的匹配年份和月份相对应的值求和。我还希望此SUMIFS包含名称标准以及日期。即。

单元格A1:=SUMIFS('Sheet1'!O:O, 'Sheet1'!D:D, 'Sheet2'!DATE(B2), 'Sheet1'!E:E, "Name")

sheet1列O是存储和值的地方
sheet1列D是存储日期值的地方
sheet2单元格B2是存储日期比较标准的地方 sheet1列E是存储名称的位置
“名称”是我想要进行总和选择的名称标准

非常感谢任何见解!

2 个答案:

答案 0 :(得分:4)

如果您为日期创建开始日期和结束日期, 可以},即使用此版本

SUMIFS

=SUMIFS('Sheet1'!O:O,'Sheet1'!D:D, ">="&EOMONTH('Sheet2'!B2,-1)+1, 'Sheet1'!D:D, "<"&EOMONTH('Sheet2'!B2,0)+1, 'Sheet1'!E:E, "Name") 用于获取相关月份的开始日期和结束日期,然后EOMONTH根据您的其他条件对正确值求和。

如果保证SUMIFS是本月的第一天,您可以省略第一个B2功能

答案 1 :(得分:0)

SUMPRODUCT解决方案

我觉得在这种情况下使用SUMPRODUCT会更简单。

对于没有标题行,您可以简单地使用:

=SUMPRODUCT((MONTH(Sheet1!D:D)=MONTH(Sheet2!$B$2))*(YEAR(Sheet1!D:D)=YEAR(Sheet2!$B$2))*(Sheet1!E:E="Name"),Sheet1!O:O)

只需将"Name"替换为您想要的内容。

如果您有标题行(或者列中包含任何非有效日期的值),则需要在SUMPRODUCT中使用数组公式:

=SUMPRODUCT((IF(ISERROR(MONTH(Sheet1!D:D)),Sheet1!D:D,MONTH(Sheet1!D:D))=MONTH(Sheet2!$B$2))*(IF(ISERROR(YEAR(Sheet1!D:D)),Sheet1!D:D,YEAR(Sheet1!D:D))=YEAR(Sheet2!$B$2))*(Sheet1!E:E="Name"),Sheet1!O:O)

(使用ctrl + shft + enter

输入数组公式