如何在 Google Data Studio 或 Google Sheets 中将“-infinity”更改为今天的日期?

How can i change "-infinity" to today's date in Google Data Studio or Google Sheets?

我有一个包含不同日期的文本字段和包含 -infinity(表示今天的日期)的单元格。

如何在 Google Data Studio 或 Google 工作表中将 -infinity 更改为今天的日期,以及如何将单元格从文本更改为日期?

下图包含带有日期和 -infinity 的列。

既然你已经添加了spreadsheet,我复制了你的原始数据sheet并在B1中添加了一个处理公式:

=ArrayFormula({"valid_until V2";IF(A2:A="";;IFERROR(VALUE(REGEXEXTRACT(A2:A;"\S+"))+VALUE(REGEXEXTRACT(A2:A;"\s([^/./+]+)"));DATEVALUE("1/1/2050")))})

这个数组公式生成 B 列的所有结果,包括 header(您可以将其更改为您喜欢的任何内容)。

我处理了你的“无穷大”日期以显示真实日期 2050 年 1 月 1 日——一个足够远的未来日期,基本上与“没有到期”的目的相同。

除了上一个答案中已经给出的公式,您还可以使用 Apps 脚本来完成您的任务。

Apps 脚本版本

您必须转到 工具 > 脚本编辑器 并使用下面的代码循环遍历 A 列每当它遇到 -infinity 值时,它就会将其替换为当前日期。

function replaceInfinity() {
  let ss = SpreadsheetApp.getActiveSheet();
  let validUntil = ss.getRange("A2:A").getValues();
  for (let i=0; i<validUntil.length; i++) 
    if (validUntil[i][0] == "-infinity") 
      ss.getRange(i+2,1).setValue(new Date());
}

之前

之后

参考