首页 > 解决方案 > 使用 ARRAYFORMULA 插入新行时谷歌表格日期重新格式化

问题描述

我有一个谷歌表,其中有一列日期看起来像这样。

22/04/2020 09:01:24
22/04/2020 09:05:54
22/04/2020 09:17:06
22/04/2020 10:04:48
22/04/2020 21:05:26

这些日期需要格式化YYYY-MM-DDD才能正确导入另一个系统。所以我决定添加另一列,找到日期片段并创建一个有效日期。这个功能是。

=MID(A1,7,4)&"-"&MID(A1,4,2)&"-"&MID(A1,1,2)

这会产生正确的日期格式,例如2020-04-16

现在,另一个向此电子表格添加行的过程,当发生这种情况时,公式不会复制到新创建的单元格中。ARRAYFORMULA我在第一行读到了所以我添加了以下内容。

=ARRAYFORMULA({"Submitted at";IF(ROW(A2:A),MID(W2,7,4)&"-"&MID(W2,4,2)&"-"&MID(W2,1,2),"")})

虽然这解决了公式未被复制的一个问题,但它现在只显示每一行的第一个日期,例如

2020-04-16
2020-04-16
2020-04-16
2020-04-16
2020-04-16
2020-04-16

我认为这可能与相对单元格引用有关?我对下一步该做什么甚至可能是什么问题感到有点困惑。我将不胜感激了解我哪里出错了(或者更简单的重新格式化日期的解决方案)

标签: dategoogle-sheetsspreadsheet

解决方案


将这些 W2 更改为 W2:W

你也可以试试这个更简单的公式:

=ARRAYFORMULA({"Submitted at";IF(W2:W="",,TEXT(W2:W,"yyyy-mm-dd"))})

推荐阅读