简体   繁体   English

Excel 2016 计算财政年度

[英]Excel 2016 calculate fiscal year

Fiscal Year starts July 1 - June 30, I need to calculate and display the number of Fiscal Years between 2 dates.财政年度从 7 月 1 日开始至 6 月 30 日,我需要计算并显示两个日期之间的财政年度数。

For example: 01/01/2018-12/31/2018.例如:01/01/2018-12/31/2018。 Result (YYYY-YYYY) should give 2 fiscal years:结果 (YYYY-YYYY) 应给出 2 个财政年度:

  • 2017-2018 (July 1, 2017 - June 30, 2018) 2017-2018 (2017年7月1日-2018年6月30日)
  • 2018-2019 (July 1, 2018 - June 30, 2019) 2018-2019 (2018年7月1日-2019年6月30日)

Its easy to calculate if there are only 2 fiscal years between 2 dates but using =IF(StartDate<DATE(YEAR(StartDate), 7,1),CONCATENATE(YEAR(StartDate)-1, "-", YEAR(StartDate)), CONCATENATE(YEAR(StartDate), "-", YEAR(StartDate)+1)) or =IF(EndDate<DATE(YEAR(EndDate), 7,1),CONCATENATE(YEAR(EndDate)-1, "-", YEAR(EndDate)), CONCATENATE(YEAR(EndDate), "-", YEAR(EndDate)+1))如果两个日期之间只有 2 个财政年度,但使用=IF(StartDate<DATE(YEAR(StartDate), 7,1),CONCATENATE(YEAR(StartDate)-1, "-", YEAR(StartDate)), CONCATENATE(YEAR(StartDate), "-", YEAR(StartDate)+1))很容易计算=IF(StartDate<DATE(YEAR(StartDate), 7,1),CONCATENATE(YEAR(StartDate)-1, "-", YEAR(StartDate)), CONCATENATE(YEAR(StartDate), "-", YEAR(StartDate)+1))=IF(EndDate<DATE(YEAR(EndDate), 7,1),CONCATENATE(YEAR(EndDate)-1, "-", YEAR(EndDate)), CONCATENATE(YEAR(EndDate), "-", YEAR(EndDate)+1))

But how do I capture if there are more than 2 fiscal years?但是,如果有超过 2 个财政年度,我如何捕获? For example: 01/01/2018 - 09/20/2019例如:01/01/2018 - 09/20/2019

I would prefer the fiscal year be entered in a table range and automatically insert a new row if there are more than 2 fiscal years.我希望将会计年度输入到表格范围内,并在超过 2 个会计年度时自动插入一个新行。 I'm looking for either formula or vba solution.我正在寻找公式或 vba 解决方案。

last time i had to do this was for a specific report where the dates are written in cells:上次我必须这样做是针对日期写在单元格中的特定报告:

dim s as long, e as long
if month(cells(1,1).value) >= 7 AND day(cells(1,1).value) >= 1 Then
    s = year(cells(1,1).value)+1
else
    s = year(cells(1,1).value)
end if
if month(cells(2,1).value) >= 7 AND day(cells(1,1).value) >= 1 Then
    e = year(cells(1,1).value)+1
else
    e = year(cells(1,1).value)
end if
'FY range:
cells(3,1).value = "FY" & s & "-FY" & e

rehashed the code for you, untested为您重新编写了代码,未经测试

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM