【发布时间】:2022-01-20 01:01:50
【问题描述】:
- 我正在尝试定义一个函数来计算某个日期所在的纳税年度。
- 我想使用数组公式来执行此操作并让它自动生成
这是我拥有的完整解决方案:
=ARRAYFORMULA(
IF(
ROW(A:A)=1,
"Tax year",
IF(
ISBLANK(A:A),
"",
IF(
OR(MONTH(A:A)>4, AND(MONTH(A:A)=4, DAY(A:A)>=6)),
YEAR(A:A)&"-"& YEAR(A:A)+1,
YEAR(A:A)-1 &"-"&YEAR(A:A)
)
)
)
)
但我注意到它的行为不像我期望的那样。所以我试着把它分解成更小的步骤。这是一个spreadsheet demo,其中除了带有青色标题的列之外的所有列都是使用数组公式生成的。
注意:
- 演示具有欧洲日期格式。
- 这是为了计算英国的纳税日期,从 4 月 6 日开始,因此是围绕该特定日期的逻辑。
观察:
- AND 函数的行为异常,如 F 列所示,即标题
M=4&D>=6。 - OR 函数行为异常,如 H 列所示,即标题
M>4 or M=4&D>=6。
在 google sheet 和 microsoft excel 中都观察到了这种行为。 这是语法问题吗?
【问题讨论】:
标签: google-sheets array-formulas