0

我试图想出一个函数来计算指定日期范围内的每月预算。我尝试使用 SUMIFS,但我不知道如何在该范围内隔离特定月份。

例子:

我们有一张包含 Google Ad 广告系列的表格,每个广告系列都有一行。

我们在 2020 年 2 月 15 日到 2020 年 5 月 15 日期间投放了一个 Google 广告活动 (A),总预算为 3000 美元,据此计算出每日预算为 33.33 美元。

我们从 2020 年 5 月 15 日到 2020 年 8 月 15 日运行第二个广告系列 (B),预算也是 3,000 美元,据此计算出每日预算为 32.61 美元。

=IF(NOT(ISBLANK(Start_Date)),Total_Budget/(End_Date-Start_Date),"")

在单独的表格中,我有每个月的预算和支出字段。对于 5 月,我需要它来计算活动 A 的 5/1-5/15 和活动 B 的 5/15-5/31 的总预算。

我做到了这一点(J 是 Daily_Budget,G 是 Start_Date,H 是 End_Date):

=SUMIFS(Google!J2:J30, Google!G2:G30,"<="&DATE(2020,5,1),Google!H2:H30,">="&DATE(2020,5,31))

然后我不知道如何从范围中推断出天数,这样我就可以将它们乘以每日预算,然后将它们加在一起。

我想回到包含活动的工作表,并为每个月添加带有复杂条件的列,然后只使用 SUM(),但我觉得必须有一个更优雅的解决方案。

更新

根据请求,这里是指向手动输入所需结果的电子表格的链接:单击此处。5 月和 6 月显示活动的部分月份重叠。我最终想要的结果是=(15*Google!J2)+(16*Google!J3).

更新 2(2020 年 6 月 24 日)

根据要求,我已共享电子表格,以便人们可以制作副本并尝试使用公式:单击此处。.

有任何想法吗?

谢谢,

4

1 回答 1

0

我会使用函数 DATEDIF() (documentation here)。您可以将第一个参数设置为您尝试计算其中天数的月份的第一天,并将第二个参数设置为另一个月份的第一天。例子:

DATEDIF(DATE(2020, 1, 1), DATE(2020, 2, 1), "D")

您也可以使用它创建一个自定义函数,只输入每个月的数字(和年份,如果是 2 月的闰年),但不幸的是我没有太多经验。

于 2020-06-12T22:55:29.503 回答