Excel formula 将日期转换为会计年度、会计期间和会计周的公式

Excel formula 将日期转换为会计年度、会计期间和会计周的公式,excel-formula,Excel Formula,制定一个公式,将日期转换为FYxxPxxWx格式 比如说。输入20年3月22日的日期,公式将为您提供正确的FY20P06W4 但是,如果您输入02/02/20,公式将为您提供FY20P05W2。正确的输出为FY20P05W1。这个问题也在19年9月29日浮出水面。它为您提供FY20P12W5。正确的输出为FY20P1W1 当您输入日期04/5/20时,会发生一些奇怪的事情,您会得到FY21P07W2,而它应该是FY20P07W2 公式是 =连接方式,RIGHTYEARDATEYEARD5,MON

制定一个公式,将日期转换为FYxxPxxWx格式

比如说。输入20年3月22日的日期,公式将为您提供正确的FY20P06W4

但是,如果您输入02/02/20,公式将为您提供FY20P05W2。正确的输出为FY20P05W1。这个问题也在19年9月29日浮出水面。它为您提供FY20P12W5。正确的输出为FY20P1W1

当您输入日期04/5/20时,会发生一些奇怪的事情,您会得到FY21P07W2,而它应该是FY20P07W2

公式是 =连接方式,RIGHTYEARDATEYEARD5,MONTHD5+10-1,1,2,P,text选择MONTHD5,4,5,6,7,8,9,10,11,12,1,2,3,0,W,WEEKNUMD5,1-WeeknumdDateYeard5,MONTHD5,1,1+1

我认为这个问题是由奇怪的几周造成的,在这几周里,一个月结束了,另一个月开始抛出公式

我确实有一个计算会计年度开始日期的公式

=DATEYEARTODAY-1,10,1-WEEKDAYDATEYEARTODAY-1,10,1,1+1

这将19年9月29日作为财政年度的开始日期,与19年10月1日(财政年度的第一个月)的同一周输出。如果这有道理的话

单独的公式是 对于FY,仅获取年度的最后两位数 RIGHTYEARDATEYEARD5,MONTHD5+10-1,1,2

For Period给我一个两位数的句号 text选择月份5,4,5,6,7,8,9,10,11,12,1,2,3,0

一周
WEEKNUMD5,1-WEEKNUMDATEYEARD5,MONTHD5,1,1+1

我相信我有一个解决方案给你。下面将进行讨论,但完整公式如下:

=CONCAT("FY",RIGHT(YEAR(D5+91+WEEKDAY(DATE(YEAR(D5),10,1))),2),"P",TEXT(IF(MONTH(D5+(7-WEEKDAY(D5)))<>MONTH(D5),IF(MONTH(D5)=9,1,CHOOSE(MONTH(D5),5,6,7,8,9,10,11,12,1,2,3,4)),CHOOSE(MONTH(D5),4,5,6,7,8,9,10,11,12,1,2,3)),"0#"),"W",ROUNDUP(((D5-IF(MONTH(D5+(7-WEEKDAY(D5)))<>MONTH(D5),DATE(YEAR(D5),MONTH(D5)+1,1)-WEEKDAY(DATE(YEAR(D5),MONTH(D5)+1,1))+1,DATE(YEAR(D5),MONTH(D5),1)-WEEKDAY(DATE(YEAR(D5),MONTH(D5),1))+1))/7)+0.01,0))
一个问题是,这仍然是计算2020年2月2日的方法,你说的是不正确的。不过,当我根据日历进行验证时,似乎FY20P05W02应该是正确的。如果包括本月第一个月在内的一周开始了一个新的发薪期,这意味着2020年1月2日(星期六)将是第一财政周的最后一天。这将使2020年2月2日成为第二财政周的第一天

为了计算会计年度,我使用RIGHTYEARD5+91+WEEKDAYDATEYEARD5,10,1,2。因为你可以指望从10月初到12月底总有91天,这有助于计算。在你的公式中,你有MONTHD5+10-1,这将使你在D5中的月份超过9个月。这就解释了为什么你的2020年4月5日的成绩差了一年

财政期间有点棘手,需要一对嵌套的IF语句。我首先使用IFMONTHD5+7-weekdayd5-monthd5来计算下一个会计期间月末的天数,然后使用IFMONTHD5=9来计算下一个会计年度9月底的几天。9月底的天数默认为1,包含在下一个会计期间的月末天数使用first CHOOSE函数。他们需要下一个月的数字,其他所有内容都会在编写时使用CHOOSE函数

财政周花费了更多的时间,但最后我评估了当前财政月的开始,并从D5中的日期中减去它,然后除以7,再加上0.01,这样偶数就可以正确地进行取整

我在几年的时间里测试了它,它似乎运行正常,但如果您有问题,请告诉我


使用WeekNUM时要考虑的一件事是,除非你使用选项21或ISOWEEKNUM,否则你将在一年中计算两次。它们给出了彼此相同的结果,并确保任何给定的日期(无论是哪一年)都只分配了一个星期编号。

您能帮我理解W代表什么吗?周。有一个会计年度。财政期间。财政周。我们认为这个问题是因为20年1月31日和20年2月1日是在同一周。如果我们停留在20年1月31日,它应该读作FY20P05W1,尽管它仍然是1月的一部分,但它从2月1日的一周开始。对不起。它是如何推导出来的?各个公式是否独立工作?。也就是说,如果你把一年分为一列,下一列分为一段时间,下一列分为一周,那么他们给你的数字正确吗?倾向于将公式分解成最小的部分,以确定哪里出了问题。或者,您是否在功能区中使用公式求值逐步完成了公式?如果使用=ISTEXTD5,您会得到什么结果?