【问题标题】:Sum values in a range of dates with a timezone in it对包含时区的日期范围内的值求和
【发布时间】:2019-12-27 03:13:45
【问题描述】:

我有一长串采用这种格式的日期:

2019-11-28 10:12:48 -0800

问题是我用来对日期范围内的值求和的公式无法将单元格识别为日期。我必须手动删除 -0800 但我的列表很长。

每次我使用函数导入文件时,有什么方法可以将单元格格式化为日期或自动删除 -0800?

【问题讨论】:

  • 如果所有值都具有相同的时区偏移量,则不需要转换为日期,因为日期值可以作为字符串排序,因此也易于过滤。例如。要选择 2019 年 11 月的行,您可以限制使用相当于 date >= '2019-11-01' and date < '2019-12-01' 的 Google 表格
  • 您好 Arkshija,请问您是如何加载这些日期的? “使用函数导入文件”是什么意思?非常感谢。
  • 我的意思是:导入文件然后执行脚本删除列中所有单元格的“-0800”

标签: date google-sheets sum google-sheets-formula array-formulas


【解决方案1】:

您可以使用以下脚本删除每个出现的-0800。这将导致您的表格文档中的日期有效。

function myFunction() {
  var sheet = SpreadsheetApp.getActive().getSheets()[0];
  sheet.getDataRange().createTextFinder(" -0800").replaceAllWith("");
}

该函数使用 Google Apps 脚本的 TextFinder 类。您可以在以下链接中了解有关它的更多信息以及与它一起使用的方法:

【讨论】:

    【解决方案2】:

    你只需要:

    =ARRAYFORMULA(IF(A2:A="",,LEFT(A2:A, 19)*1))
    

    然后总结一下:

    =SUM(ARRAYFORMULA(IF(A2:A="",,LEFT(A2:A, 19)*1)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多