我正试图找到一种方法,将收入分配给特定的日期,并对数字进行加权。因此,如果在我的两个报告日之间有一天,我希望它能够根据报告日之间的差异来分配。例如,如果我有报告日期,20/11/2017 30/11/2017 10/12/2017 20/12/2017
有收入的销售日期
Sales dates Volumes
22/11/2017 600,000,000
12/12/2017 -100,000,000
13/12/2017 -141,400,000
20/12/2017 -100,962,000
我希望销售22/11/2017
被分发给20/11/2017
8/10,2/10分发给30/11/2017
等等,这样4个销售就会分发给
Reporting dates
20/11/2017 480,000,000
30/11/2017 120,000,000
10/12/2017 -178,980,000
20/12/2017 -163,382,000
我没有成功地找到任何解决方案,有人知道如果我错过了什么或者有什么好的想法,一个好的如何建立这样的设置?
发布于 2017-10-25 08:39:58
好的,这个解决方案使用了大量的助手列,因为我还没有时间把它压缩下来。我相信这些公式可以改进,甚至可能变成一个单一的公式。
第一步是找到收入分配的两个日期。
使用单元格A1:B4中的原始数据,放置在单元格C1:C4中的公式将返回更高的日期:
=DATE(YEAR($A1),MONTH($A1),CEILING(DAY($A1),10))
放置在d1:d4中的将返回较低的日期:
=DATE(YEAR($A1),MONTH($A1),FLOOR(DAY($A1),10))
编辑:花了更多时间保持清醒之后,您可以分别用=CEILING($A1,10)-1
和=FLOOR($A1,10)-1
替换上述两个公式。
接下来,我们找到销售日期相对于上、下日期的位置。
在E1中:E4用法:
=(C1-A1)/10
在F1:F4中,:
=(A1-D1)/10
现在,要返回基于该分配的收入:
在G1:G4中使用:
=E1*$B1
H1:H4中的公式略有不同,因为100%的数字应该只返回一次。2017年12月20日的收入只出现在H栏。
=IF(F1=0,B1,F1*$B1)
我把报告日期放在J1:J4;so 20/11/2017在J1,30/11/2017在J2等等。
K1:K4中的公式是:
=SUMIF(C$1:C$4,$J1,$H$1:$H$4)
L1:L4中的公式是:
=SUMIF(D$1:D$4,$J1,$G$1:$G$4)
最后,返回您的分布的公式将在单元格m1:m4中将前两个公式之和:
=SUM(K1:L1)
https://stackoverflow.com/questions/46913438
复制相似问题