- 我正在嘗試定義一個函式來計算日期所在的納稅年度。
- 我想使用陣列公式來做到這一點,并讓它自動生成
這是我擁有的完整解決方案:
=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)
)
)
)
)
但我注意到它的行為不像我期望的那樣。所以我試著把它分解成更小的步驟。這是一個電子表格演示,其中除了帶有青色標題的列之外的所有列都是使用陣列公式生成的。
注意:
- 該演示具有歐洲格式的日期。
- 這是用于計算從 4 月 6 日開始的英國納稅日期,因此是圍繞該特定日期的邏輯。
觀察:
- AND 函式行為不當,如 F 列所示,即 header
M=4&D>=6。 - OR 函式行為不當,如列 H 所示,即 header
M>4 or M=4&D>=6。
在 google 表格和 microsoft excel 上都觀察到了這種行為。這是語法問題嗎?
uj5u.com熱心網友回復:
利用:
={"Tax year"; ARRAYFORMULA(IF(ISBLANK(A2:A),,
IF((MONTH(A2:A)>4) ((MONTH(A2:A)=4)*(DAY(A2:A)>=6))),
YEAR(A2:A)&"-"& YEAR(A2:A) 1,
YEAR(A2:A)-1 &"-"&YEAR(A2:A)))}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384865.html
上一篇:谷歌表格如何連接和計算
