excel - 带有 DATE 条件的 SUMIFS(仅匹配年份和月份)
问题描述
我使用的数据是每天,而我从中导入值的数据是每月。
我使用了 SUMIFS,并且只想将标准设置为 YEAR 和 MONTH。因此,在每日表中,它会为相应月份的 30/31 天返回相同的值。到目前为止它只返回 0。
=SUMIFS('EA-04'!$D:$D,'EA-04'!$A:$A,DATE(YEAR($A2),MONTH($A2),1))/(DATE(YEAR($A2),MONTH($A2)+1,1)-DATE(YEAR($A2),MONTH($A2),1))
解决方案
您遇到的问题是您无法更改要询问的范围内每个单元格的格式,但您可以测试该范围内的每个日期是否在某个日期范围内(大于或小于)所以,例如,如果单元格 A2 中的值是 2018 年 10 月 1 日的第一天,那么您可以使用
=SUMIFS('EA-04'!$D:$D,'EA-04'!$A:$A,”>=”&$A2, 'EA-04'!$A:$A,”<”&EDATE($A2,1))
该公式表示小于或等于 2018 年 10 月 1 日或小于 2018 年 11 月 1 日
EDATE(date,1) 函数将 1 个日历月添加到 A2 中的日期,因此该月的 1 日成为下个月的第一日,而不管源月份的天数如何。
如果单元格 A2 中的值不是第一个,那么您可以使用此公式将其更改为第一个
=SUMIFS('EA-04'!$D:$D,'EA-04'!$A:$A,”>=”&$A2-(day($A2))+1, 'EA-04'!$A:$A,”<”&EDATE($A2-(day($A2))+1,1))
推荐阅读
- c# - 虚拟键倾斜移动
- java - 崩溃报告中数组的索引号和大小信息是否与原始代码保持一致?
- python - 是否可以更改 `typing.TypedDict` 的字符串表示形式?
- c# - 如何使用 stringbuilder 中的按钮制作模态模块?
- javascript - 盖茨比:如果选择了新项目,如何关闭以前打开的项目?
- python - 如何在不遍历每个像素的情况下同时裁剪具有窗口大小的 numpy 数组的每个元素?
- debugging - VSCode:如何跳过
- javascript - p5.js中带有矩形的网格中的意外边框模式
- java - 如何将经过验证的用户输入传递给方法参数?
- mysql - mysql sub select很慢