【问题标题】:Extracting date from text in Google sheets从 Google 表格中的文本中提取日期
【发布时间】:2021-05-21 12:52:01
【问题描述】:

一个单元格包含以下文本:

Immediate_TAA_BRC 02/01/2021 12:30 PM-02/01/2021 9:00 PM

如何只提取第一个日期:02/01/2021

我尝试过使用 SPLIT(RIGHT 函数,但它返回了 19 世纪的某个奇怪年份...

【问题讨论】:

    标签: arrays regex google-sheets extract array-formulas


    【解决方案1】:

    您可以在这里使用REGEXEXTRACT 函数:

    REGEXEXTRACT(A1, "[0-9]{2}/[0-9]{2}/[0-9]{4}")
    

    这里的A1 是一个单元格引用,其中可能包含您作为示例提供的文本:

    Immediate_TAA_BRC 02/01/2021 12:30 PM-02/01/2021 9:00 PM
    

    请注意,REGEXEXTRACT 默认返回文本的第一个匹配部分,在这种情况下效果很好,因为您想匹配第一个日期。

    【讨论】:

    • 非常感谢,这在一定程度上有效,我在“if”中使用了这个公式,因为被拖动的公式并不总是查看文本单元格,有时会查看显示为“关闭”的单元格或为空白。是否可以更新此公式以考虑到这一点。我目前的公式为:=if(H3="","",if(H3="off","off",(REGEXEXTRACT(H3,"02/......."))))跨度>
    • 如果没有看到您的实际数据,我无法回答此评论。
    【解决方案2】:

    使用:

    =REGEXEXTRACT(A1, "\d+/\d+/\d+")
    

    或数组公式:

    =ARRAYFORMULA(IFERROR(REGEXEXTRACT(A1:A, "\d+/\d+/\d+")))
    

    更新:

    在第 3 行使用

    =ARRAYFORMULA(IF(H3:H="",,IF(H3:H="off", "off", 
     IFERROR(REGEXEXTRACT(H3:H, "\d+/\d+/\d+")))))
    

    【讨论】:

      【解决方案3】:

      如何提取日期,有两种选择:

      1. 使用REGEXEXTRACT。使用 player0 提供的公式,您可以取前两个 / 之间的数字:

        =REGEXEXTRACT(A1, "\d+/\d+/\d+")
        
      2. 使用FINDMIDTRIM

        • 使用FIND获取前两个空格的位置:
          • B1 = FIND(" ", A1) - 第一个空格的位置
          • B2 = FIND(" ", A1, B1+1) - 最后一个参数表示搜索开始的字符
          • RESULT = TRIM(MID(A1, B1, B2-B1)) - 中间计算公式的样子。使用MID,您可以从B1 位置开始的字符串中获取B2-B1 字符。 TRIM 只是删除前导空格和尾随空格。
          • FINAL RESULT = TRIM(MID(A1,FIND(" ",A1),FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1)))
            

      如何处理更多不同值类型的单元格

      1. 使用SWITCH
        • 第一个参数:包含文本的单元格
        • 第二个和第三个:条件和值 if TRUE
        • 四五:第二个条件如果需要,可以使用多个条件
        • 最后一个:默认值
        =SWITCH(A1, "", "BLANK CELL", "OFF", "OFF CELL", 
        REGEXEXTRACT(A1, "\d+/\d+/\d+"))
        
        要么
        =SWITCH(A1, "", "BLANK CELL", "OFF", "OFF CELL", 
        TRIM(MID(A1,FIND(" ",A1),FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1))))
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多