Excel:计算会计年度的星期

时间:2020-06-19 22:40:20

标签: excel excel-formula week-number

我正在尝试计算给定日期所在的会计年度的周数-我们的会计年度从7月1日开始,到6月30日结束,距Sun-Sat几周,并且数据包含多个年份。

例如:2017年7月1日是星期六,因此它是会计年度的第1周。 2017年7月7日至7日将是第2周,而2018年6月23日至6/30日将是第52周,这将从2018年7月1日开始至第一周。

我们将不胜感激,谢谢!

我正在处理的数据的屏幕截图

工作日,会计年度和会计季度的公式的屏幕截图]

3 个答案:

答案 0 :(得分:1)

与其他人不同,我理解您的意思是会计年度总是从7月1日开始,并且一周在星期日更改。

算法

  • 在7月1日之前进行计算:=DATE(YEAR(A2)-IF(MONTH(A2)>=7,0,1),7,1)
  • 计算会计年度的第一个星期日:=prevJul1 +7-WEEKDAY(prevJul1 +6)
  • 计算自第一个星期日以来的周数:=INT((A2-firstSunday)/7)+1
  • 如果1不是星期日,请添加prevJul1

将它们放在一起:

=INT((A2-(DATE(YEAR(A2)-IF(MONTH(A2)>=7,0,1),7,1)+7-WEEKDAY(DATE(YEAR(A2)-IF(MONTH(A2)>=7,0,1),7,1)+6)))/7)+1+(WEEKDAY(DATE(YEAR(A2)-IF(MONTH(A2)>=7,0,1),7,1))<>1)

enter image description here

答案 1 :(得分:0)

计算第1周在7月1日或之后的第一个星期日开始的任何日期的周数:

=INT(([@Date]-(DATE(YEAR([@Date]-WEEKDAY([@Date])+1)-IF(MONTH([@Date]-WEEKDAY([@Date])+1)>=7,0,1),7,1)+MOD(8-WEEKDAY(DATE(YEAR([@Date]-WEEKDAY([@Date])+1)-IF(MONTH([@Date]-WEEKDAY([@Date])+1)>=7,0,1),7,1)),7)))/7)+1

以下是一些示例输出:

Date           | WeekNo
-------------- | ------
2017/06/17 Sat | 50    
2017/06/18 Sun | 51    
2017/06/19 Mon | 51    
2017/06/20 Tue | 51    
2017/06/21 Wed | 51    
2017/06/22 Thu | 51    
2017/06/23 Fri | 51    
2017/06/24 Sat | 51    
2017/06/25 Sun | 52    
2017/06/26 Mon | 52    
2017/06/27 Tue | 52    
2017/06/28 Wed | 52    
2017/06/29 Thu | 52    
2017/06/30 Fri | 52    
2017/07/01 Sat | 52    
2017/07/02 Sun | 1     
2017/07/03 Mon | 1     
2017/07/04 Tue | 1     
2017/07/05 Wed | 1     
2017/07/06 Thu | 1     
2017/07/07 Fri | 1     
2017/07/08 Sat | 1     
2017/07/09 Sun | 2     
2018/06/17 Sun | 51    
2018/06/18 Mon | 51    
2018/06/19 Tue | 51    
2018/06/20 Wed | 51    
2018/06/21 Thu | 51    
2018/06/22 Fri | 51    
2018/06/23 Sat | 51    
2018/06/24 Sun | 52    
2018/06/25 Mon | 52    
2018/06/26 Tue | 52    
2018/06/27 Wed | 52    
2018/06/28 Thu | 52    
2018/06/29 Fri | 52    
2018/06/30 Sat | 52    
2018/07/01 Sun | 1     
2018/07/02 Mon | 1     
2018/07/03 Tue | 1     
2018/07/04 Wed | 1     
2018/07/05 Thu | 1     
2018/07/06 Fri | 1     
2018/07/07 Sat | 1     
2018/07/08 Sun | 2     
2018/07/09 Mon | 2     
2019/06/17 Mon | 51    
2019/06/18 Tue | 51    
2019/06/19 Wed | 51    
2019/06/20 Thu | 51    
2019/06/21 Fri | 51    
2019/06/22 Sat | 51    
2019/06/23 Sun | 52    
2019/06/24 Mon | 52    
2019/06/25 Tue | 52    
2019/06/26 Wed | 52    
2019/06/27 Thu | 52    
2019/06/28 Fri | 52    
2019/06/29 Sat | 52    
2019/06/30 Sun | 53    
2019/07/01 Mon | 53    
2019/07/02 Tue | 53    
2019/07/03 Wed | 53    
2019/07/04 Thu | 53    
2019/07/05 Fri | 53    
2019/07/06 Sat | 53    
2019/07/07 Sun | 1     
2019/07/08 Mon | 1     
2019/07/09 Tue | 1     
2020/06/17 Wed | 50    
2020/06/18 Thu | 50    
2020/06/19 Fri | 50    
2020/06/20 Sat | 50    
2020/06/21 Sun | 51    
2020/06/22 Mon | 51    
2020/06/23 Tue | 51    
2020/06/24 Wed | 51    
2020/06/25 Thu | 51    
2020/06/26 Fri | 51    
2020/06/27 Sat | 51    
2020/06/28 Sun | 52    
2020/06/29 Mon | 52    
2020/06/30 Tue | 52    
2020/07/01 Wed | 52    
2020/07/02 Thu | 52    
2020/07/03 Fri | 52    
2020/07/04 Sat | 52    
2020/07/05 Sun | 1     
2020/07/06 Mon | 1     
2020/07/07 Tue | 1     
2020/07/08 Wed | 1     
2020/07/09 Thu | 1     
2021/06/17 Thu | 50    
2021/06/18 Fri | 50    
2021/06/19 Sat | 50    
2021/06/20 Sun | 51    
2021/06/21 Mon | 51    
2021/06/22 Tue | 51    
2021/06/23 Wed | 51    
2021/06/24 Thu | 51    
2021/06/25 Fri | 51    
2021/06/26 Sat | 51    
2021/06/27 Sun | 52    
2021/06/28 Mon | 52    
2021/06/29 Tue | 52    
2021/06/30 Wed | 52    
2021/07/01 Thu | 52    
2021/07/02 Fri | 52    
2021/07/03 Sat | 52    
2021/07/04 Sun | 1     
2021/07/05 Mon | 1     
2021/07/06 Tue | 1     
2021/07/07 Wed | 1     
2021/07/08 Thu | 1     
2021/07/09 Fri | 1     
2022/06/17 Fri | 50    
2022/06/18 Sat | 50    
2022/06/19 Sun | 51    
2022/06/20 Mon | 51    
2022/06/21 Tue | 51    
2022/06/22 Wed | 51    
2022/06/23 Thu | 51    
2022/06/24 Fri | 51    
2022/06/25 Sat | 51    
2022/06/26 Sun | 52    
2022/06/27 Mon | 52    
2022/06/28 Tue | 52    
2022/06/29 Wed | 52    
2022/06/30 Thu | 52    
2022/07/01 Fri | 52    
2022/07/02 Sat | 52    
2022/07/03 Sun | 1     
2022/07/04 Mon | 1     
2022/07/05 Tue | 1     
2022/07/06 Wed | 1     
2022/07/07 Thu | 1     
2022/07/08 Fri | 1     
2022/07/09 Sat | 1     

答案 2 :(得分:0)

如果 A1 包含任何一年的7月1日 st ,则 B1

=A1+CHOOSE(WEEKDAY(A1),0,6,5,4,3,2,1)

将给出该日期之后或该日期的第一个星期日的日期。这是新会计年度第1周的第1天

现在很容易获得星期数:

=INT(1+(date_in_question - day#1week#1)/7)

B1 和PasteSpecialValues和格式复制到 C1

C1 是新会计年度的开始日期

D1 中,在新会计年度内输入任意日期。在 E1 中输入:

=INT(1+(D1-C1)/7)

enter image description here