Google Sheet语言地区对日期数据的影响

起因

我在 IFTTT 中使用一个 Applet:指定城市一下雨,就记录发生时间、天气、温度到指定 Google Sheet 中。然而 IFTTT 输出到电子表格的日期格式为「June 06, 2017 at 02:34AM」,导致有时候不方便后续的一些操作。

由于日期数据被存储为文本格式,我无法直接进行统计分析操作,万幸 IFTTT 在设置写入 Google Sheet 的数据时,可以用公式来预处理数据。

搜索网上资料,找到有人提供了一个思路:IFTTTDate

##Date
=DATEVALUE(SUBSTITUTE("{{OccurredAt}}"," at ", " "))

##Time
=TIMEVALUE(SUBSTITUTE("{{OccurredAt}}"," at ", " "))

这位作者利用 SUBSTITUTE 函数将原字符串中的 " at " 替换成一个空格,获得 "June 06, 2017 02:34AM" 这样可供日期函数进行下一步处理的日期格式,再用 DATEVALUETIMEVALUE 函数将其转换为日期值。当然,你也可以根据自己的需要使用其它函数,只需要在 Applet 中根据 IFTTT 的提示,将 {{OccurredAt}} 改为相应字段。

踩坑

如果你使用的是英文界面的 Google Sheet,那么根据以上方式已经满足需求,但如果是中文或者其它语言,就会报错。

google-sheet-date-in-different-language-areas-01

以中文为例,DATEVALUE 函数只对 "六月 06, 2017 02:34AM" 这样的中文格式日期起作用。

google-sheet-date-in-different-language-areas-02

填坑

解决方法有两种:

第一种:在「文件 - 电子表格设置」中修改该文件的语言区域为英文

google-sheet-date-in-different-language-areas-03

第二种:利用 GoogleTranslate() 函数,具体用法参考 函数说明

google-sheet-date-in-different-language-areas-04

发表评论

电子邮件地址不会被公开。 必填项已用*标注