使用公式从字符之间提取子字符串
Extracting a substring from between characters using formula
我有包含以下数据的行
Delivered - signed for by XXX - on 05 Aug 2019 at 15:06
我只想从中提取日期。我一直在使用 "on" 和 "at" 作为我的搜索词,因为它们在日期前后的每一行中只出现一次。
每次我尝试这样做时,我都会 return 我只需要 2019 年 8 月 5 日的日期和时间。
我用的公式是这样的。
=MID(A2,SEARCH("on",A2)+2,SEARCH("at",A2)-1)
我注意到,当我将第一部分设为 +1 时,虽然我正在搜索 "on" 这个词,但公式的结果也会给我 "n"。
我也试过了
=MID(LEFT(A4,FIND("on",A4)+2),FIND("at",A4)-1,LEN(A4))
然而,这只会给我留下一个空白单元格。
如果签名者的名字中有 ON(例如 Jason),我也会解决这个问题。该公式将从日期前 "on" 之前的名称中提取 "on"。
感谢任何帮助,毫无疑问它让我激动不已。
试一试:
=LEFT(MID(A2,FIND("on ",A2)+3,99),FIND("at",MID(A2,FIND("on ",A2)+3,99))-2)
尝试
=MID(A2,SEARCH("on ",A2)+3,SEARCH(" at ",A2)-SEARCH("on ",A2)-3)
希望对您有所帮助
如果所有条目的日期格式都相同 ("dd mmm yyyy"),您可以尝试:
=MID(A1,SEARCH(" on ",A1)+4,11)
如果您想要日期值而不是文本,只需将 DATEVALUE
放在前面:
=DATEVALUE(MID(A1,SEARCH(" on ",A1)+4,11))
C6 = 已交付 - 由 XXX 签收 - 2019 年 8 月 5 日 15:06
=左(右(C6;20);11)
SEARCH return是搜索文本的第一个字符的位置,因此您需要根据搜索文本的长度对其进行调整。另外,MID 的第三个参数是return 的字符数,而不是停止的位置,因此您需要从第二次搜索中减去第一次搜索的结果。最后,我会搜索“on”和“at”来消除名称问题,TRIM为了安全起见,结果是:
=TRIM(MID(A2,SEARCH(" on ",A2)+4,SEARCH(" at ",A2)-SEARCH(" on ",A2)-4))
我有包含以下数据的行
Delivered - signed for by XXX - on 05 Aug 2019 at 15:06
我只想从中提取日期。我一直在使用 "on" 和 "at" 作为我的搜索词,因为它们在日期前后的每一行中只出现一次。
每次我尝试这样做时,我都会 return 我只需要 2019 年 8 月 5 日的日期和时间。
我用的公式是这样的。
=MID(A2,SEARCH("on",A2)+2,SEARCH("at",A2)-1)
我注意到,当我将第一部分设为 +1 时,虽然我正在搜索 "on" 这个词,但公式的结果也会给我 "n"。
我也试过了
=MID(LEFT(A4,FIND("on",A4)+2),FIND("at",A4)-1,LEN(A4))
然而,这只会给我留下一个空白单元格。
如果签名者的名字中有 ON(例如 Jason),我也会解决这个问题。该公式将从日期前 "on" 之前的名称中提取 "on"。
感谢任何帮助,毫无疑问它让我激动不已。
试一试:
=LEFT(MID(A2,FIND("on ",A2)+3,99),FIND("at",MID(A2,FIND("on ",A2)+3,99))-2)
尝试
=MID(A2,SEARCH("on ",A2)+3,SEARCH(" at ",A2)-SEARCH("on ",A2)-3)
希望对您有所帮助
如果所有条目的日期格式都相同 ("dd mmm yyyy"),您可以尝试:
=MID(A1,SEARCH(" on ",A1)+4,11)
如果您想要日期值而不是文本,只需将 DATEVALUE
放在前面:
=DATEVALUE(MID(A1,SEARCH(" on ",A1)+4,11))
C6 = 已交付 - 由 XXX 签收 - 2019 年 8 月 5 日 15:06
=左(右(C6;20);11)
SEARCH return是搜索文本的第一个字符的位置,因此您需要根据搜索文本的长度对其进行调整。另外,MID 的第三个参数是return 的字符数,而不是停止的位置,因此您需要从第二次搜索中减去第一次搜索的结果。最后,我会搜索“on”和“at”来消除名称问题,TRIM为了安全起见,结果是:
=TRIM(MID(A2,SEARCH(" on ",A2)+4,SEARCH(" at ",A2)-SEARCH(" on ",A2)-4))