我在 Excel 中有一个包含日期列的数据列表。当我想要生成报告时,我通常会在数据选项卡并输入文本格式的代码,如“April08”,然后我在报告选项卡上的该代码并使用 sumif 公式将与“April08”匹配的列中的数量相加,在 Excel 中有没有更简单的方法可以做到这一点?
答案1
使用该SUMIFS
函数,您可以指定多个条件。因此
=SUMIFS(data!B:B, data!A:A, ">="&startDate, data!A:A, "<="&endDate)
工作表中的 B 列data
包含要求和的数据,A 列包含日期。startDate
和endDate
是包含开始日期和结束日期的命名范围(在此示例中,它们分别包含 2008 年 4 月 1 日和 2008 年 4 月 30 日)。显然,您不必使用命名范围;我只是为了清楚起见才加上这个。
或者,像您一样使用“辅助”列,但在其中放入一个公式,而不是手动输入“April08”等。类似的=DATE(YEAR(A1),MONTH(A1),1)
方法就可以了。
答案2
您没有指定正在使用的版本或数据的具体布局方式,但使用数据透视表是一种强大的工具,可以从数据列表中呈现您想要的信息。
如果你不熟悉数据透视表,这里有一个很好的教程 -Excel 数据透视表教程:什么是数据透视表以及如何制作数据透视表。
答案3
您可以使用数组公式来获取所需的总和,而无需添加辅助列,如下所示:
=SUM((MONTH(dates)=4)*(YEAR(dates)=2008)*sales)
(请参阅下面示例中的公式 A)
在哪里:
dates
-- 包含您的日期的范围(下面示例中的 A 列)
sales
-- 包含您想要添加的内容的范围(下面示例中的 B 列)
4
并2008
指的是我的目标月份和年份,在本例中,指的是 2008 年 4 月之内的任何内容。
例子:
此公式也应给出相同的结果(上面的公式 B):
=SUM((TEXT(dates,"mmm yyyy")="Apr 2008")*sales)
只需更改它以适合您的电子表格。
不要忘记使用Ctrl+ Shift+提交公式Enter。