为什么将此 Google Sheets 公式设为 ARRAYFORMULA 会改变其行为?

Why does making this Google Sheets formula an ARRAYFORMULA change it's behavior?

此公式适用于每行:

=(IF(today()-D2 > 365,text(D2:D,"mmm yyyy"),text(D2:D,"mmm d")))

但是如果我把它变成如下所示的 ARRAYFORMUAL,它总是 returns text(D2:D,"mmm yyyy") 即使 today()-D2 > 365 为假。

=arrayformula(IF(LEN(D2:D) = 0, "", (IF(today()-D2 > 365,text(D2:D,"mmm yyyy"),text(D2:D,"mmm d")))))

见下方截图。 D 列是来源日期。 F 列是 ARRAYFORMULA。 G 列是标准公式(每行硬编码与 ARRAYFORMULA)。

我希望 F 列中的 ARRAYFORMUAL 复制 G 列中的结果。

尝试:

=ARRAYFORMULA(IF(LEN(D2:D), IF((TODAY()-D2:D)>365,
 TEXT(D2:D, "mmm yyyy"), TEXT(D2:D, "mmm d")), ))