如何仅给出两个日期和总收入自动计算Qtr收入

时间:2013-06-12 03:02:00

标签: excel excel-formula excel-2010

我可以使用一些帮助编写excel公式。

案例:收入是在Date ADate B两个日期之间生成的 这些日期可能会在明年进行,并且会在各个季度展开。

如何根据我的2个日期和总收入,将收入拆分为Q1 RevenueQ2 RevenueQ3 RevenueQ4 Revenue。 我的想法是首先确定你的日期属于哪个Qtr然后有一个if语句逻辑地计算出%并乘以收入。

目前我正在使用此公式来确定Qtr:=ROUNDUP(MONTH(DateA)/3,0)

同样适用于DateB

然后,=if(DateAQtr=2, ((6/30/2013-DateA)/(DateB-DateA))*Revenue, 0) 显然存在这样的问题,如果DateB(end Date)位于下一年的Q1,会发生什么。

分母将始终为Date B - Date A,为您提供total days
Start Qtr的分子是=(LastDayofQtr - Start) 中间任何一个季度的分子都是full qtr length End Qtr的分子是=(EndDate - LastDayofPreviousQtr)

这是逻辑。我正在尝试编写Excel公式来自动化该过程。

1 个答案:

答案 0 :(得分:1)

enter image description here

我制作了一些命名范围,以帮助查看正在发生的事情。

A2 = DateAB2 = DateBC2 = Revenue

A7 =DATE(YEAR(DateA),1,1)这是为了确定输入的DateA的Q1日期。

A8 =EDATE(A7,3)如图所示拖到A15单元格。这将返回下一季度的开始。

B7 =IF(AND(DateA>=A7,DateA<A8),A8-DateA,IF(AND(DateB>=A7,DateB<A8),DateB-A7,IF(AND(A7<DateB,A7>DateA),A8-A7)))这是检查日期与季度开始日期的比较方式,并返回每个季度包含DateA和DateB日期范围的天数。

C7 ="Q"&ROUNDUP(MONTH(A7)/3,0)向下拖动以阅读Qtr开始日期并返回相应的Q#。

D7 =IF(B7=FALSE,"",C7&"-"&YEAR(A7))返回Q#和day列不为false的年份。

E7 =IF(D7="","",(Revenue/(DateB-DateA)*B7/Revenue))这会计算每个季度包含的收入百分比。

如果更改DateA或DateB的值,一切仍然可以正确计算。如果您的日期范围大于显示的两年,则只需向下拖动公式以扩展最大范围。

我希望这会有所帮助。