Google Sheet 时间线图的日期和时间格式错误

Google Sheet wrong date and time format for Timeline Graph

我将 Tasker 数据源导入 Google Sheet,但时间轴图表不起作用。

无法理解日期和时间的格式。

我的数据源格式是dd-MM-YYYY HH.mm 例如: 16-10-2020 00.40

但是GoogleSheet只看懂了dd/MM/YYYYHH:mm:ss 16/10/2020 00:35:00

See here (第二张图,我把日期修改为16/10/202000:35:00,并且套用了Date and Time的格式,所以显示的是16-10-2020 00.35,除了让你迷惑之外没有任何用处)

我试过更改日期的格式,但它唯一能做的是: 转换现有的 16/10/2020 00:35:00 格式 至 16-10-2020 00.40

我要相反的

我对 Google 开发者感到厌倦和有点生气。我已经搜索了几个小时,我发现它很疯狂 Google Sheet 无法理解这种简单的格式。

有什么想法吗?

谢谢

请使用以下公式将您的值转换为日期

=ARRAYFORMULA(IF(A2:A5="",,--REGEXREPLACE(REGEXREPLACE(A2:A5,"-","/"),".",":")))

根据您的语言环境,您可能需要将 , 更改为 ;

=ARRAYFORMULA(IF(A2:A5="";;--REGEXREPLACE(REGEXREPLACE(A2:A5;"-";"/");"\.";":")))

使用的函数:

已提供解决方案的替代方案

Google 表格公式

您可以使用此公式将 . 替换为 : 并将其向下拖动以将其应用于所有单元格:

=REPLACE(A1,14,1,":")

这将生成一个日期格式符合您要求的列。

Google Apps 脚本

您还可以使用 Apps Script 直接在 sheet.

中将所有 . 替换为 :
// Copyright 2020 Google LLC.
// SPDX-License-Identifier: Apache-2.0

function toDate() {
  var ss = SpreadsheetApp.openById("SS_ID").getSheetByName("SHEET_NAME");
  var range = ss.getRange(1,1,NO_OF_ROWS,1);
  var values = range.getValues();
  for (let i=1; i<values.length; i++)
    ss.getRange(i, 1).setValue(new Date(values[i-1][0].toString().replace(/\./g, ":")));
}

上面的脚本还将值设置为 date.

类型

参考