gpt4 book ai didi

vba - 根据今天的日期计算当前和随后的 FY Quarter

转载 作者:行者123 更新时间:2023-12-04 21:22:18 28 4
gpt4 key购买 nike

我正在尝试根据 =TODAY() 计算当前财年季度(10 月 1 日开始)日期和接下来的 x 个季度,结果是:

Q2 2017
Q3 2017
Q4 2017
Q1 2018
...
Qx 20xx

用这个公式:
="Q" & ROUNDDOWN(MOD((TODAY()-DATE(YEAR(TODAY()-365),10,1)+K6*(365/4))/(365/4),4)+1,0)&" "&YEAR(TODAY()+K6*(365/4))

结果是:
K6=X    Result
0 Q2 2017
1 Q3 2017
2 Q4 2017
3 Q1 2017 * should be 2018
4 Q2 2018
5 Q3 2018
6 Q4 2018
7 Q1 2018 * should be 2019
8 Q2 2019

问题 1:年份比应有的变化提前了四分之一,并且

问题2:这是一个可怕的公式 - 有没有办法让它更简单?

完全公开,我打算在 VBA FOR x = 0... 中实现使用此公式循环,从今天开始 x = 季度,并相应地设置单元格的公式。

编辑:或者,如何仅使用 VBA 生成所需的输出,并将所需的单元格设置为文本字符串?代表 FY Quarter 的字符串可能会使我的应用程序更稳定。

最佳答案

将此功能添加到模块表

Function NextQuarter(ByVal iCQ As Integer) As String
Dim qtrd As Date
Dim qtr As Integer

qtrd = DateAdd("m", 3 + (3 * iCQ), Now())

qtr = (Month(qtrd ) + 2) \ 3

NextQuarter = "Q" & qtr & " " & Year(qtrd )

End Function

在您的单元格中使用公式“=NextQuarter(K6)”

关于vba - 根据今天的日期计算当前和随后的 FY Quarter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41888508/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com