问题描述
我将Tasker数据源导入到Google表格中,但是时间轴图不起作用。
不了解日期和时间的格式。
我的数据源的格式为dd-MM-YYYY HH.mm 例如: 16-10-2020 00.40
但是Google表格只能识别dd / MM / YYYY HH:mm:ss 16/10/2020 00:35:00
See here (在第二张图片上,我将日期修改为16/10/2020 00:35:00,并应用了日期和时间格式,因此它显示16-10-2020 00.35,除了使您困惑之外,它没有其他用途) / p>
我试图更改日期的格式,但是它唯一要做的是: 转换现有的16/10/2020 00:35:00格式 到16-10-2020 00.40
我要相反。
我对Google Devs很累,有点生气。我一直在搜索数小时,但我发现它非常疯狂,Google表格无法理解这种简单格式。
有什么想法吗?
谢谢
解决方法
请使用以下公式将值转换为日期
=ARRAYFORMULA(IF(A2:A5="",--REGEXREPLACE(REGEXREPLACE(A2:A5,"-","/"),".",":")))
根据您的语言环境,您可能必须将,
更改为;
=ARRAYFORMULA(IF(A2:A5="";;--REGEXREPLACE(REGEXREPLACE(A2:A5;"-";"/");"\.";":")))
使用的功能:
,已提供的解决方案的替代方案
Google表格公式
您可以使用以下公式将.
替换为:
,并将其向下拖动以便将其应用于所有单元格:
=REPLACE(A1,14,1,":")
这将导致一列带有您想要的日期格式的日期。
Google Apps脚本
您还可以利用Apps脚本直接在工作表中将所有.
替换为:
。
// 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,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 类型。