【问题标题】:Format Date and Time格式化日期和时间
【发布时间】:2020-09-01 15:36:27
【问题描述】:

在 A 列中,我有日期和时间。 在 B 列中,我有这个公式来拆分它们:

={"COL B","COL C"; ArrayFormula(IF(NOT(ISBLANK(A2:A)), SPLIT(A2:A, " ")))}

我的工作表已链接到 Google 表单。 每次提交新工作表时,新数据看起来像 440750.9756944444,我总是需要格式化为日期,另一个为时间。

有什么方法可以让我的公式自动格式化 col b 和 c 中的拆分值?

【问题讨论】:

    标签: google-sheets split google-sheets-formula array-formulas


    【解决方案1】:

    你可以试试这个:

    ={"Date","Time"; ArrayFormula(IF(ISBLANK(A2:A),, {DATEVALUE(A2:A),TIMEVALUE(A2:A)}))}
    

    或者这个:

     ={"Date","Time"; ArrayFormula(IF(ISBLANK(A2:A),, {INT(A2:A),MOD(A2:A,1)}))}
    

    在任何一种情况下,您都需要为 B 执行 Format>Number Date,为 C 执行 Format>Number>Time。

    更新: 由于您似乎希望格式以某种方式出现而不使用“格式”>“数字”选项,因此这将输出日期和时间...

    =ARRAYFORMULA({"Date","Time";IF(A2:A="",,TEXT(A2:A,{"m/d/yy","h:mm am/pm"}))})
    

    【讨论】:

    • 嗨@MattKing 这没用。我也试过 {TO_DATE(INT(A2:A).... --> 也没有用。是的,这就是我目前正在做的 - 手动格式化为日期,另一列格式化为时间,但我想知道是否有公式可以自动执行此操作。
    • @KBJohn 我已经编辑了我的答案以包含一个可以自动进行格式化的公式。但它们将是 TEXT 值,而不是您需要做的任何下游事情的数字值。
    【解决方案2】:

    我尝试了很多公式并投降了。 我刚刚添加了一个脚本:

    var date = ss.getRange('R2:R'); date.setNumberFormat("MM/dd/yyyy");

    var Time = ss.getRange('S2:S');
    Time.setNumberFormat("hh:mm:ss AM/PM");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2020-06-27
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      相关资源
      最近更新 更多