在Google工作表中提取单元格的第二个,第三个和第四个单词

问题描述 投票:0回答:4

早上好,伙伴们!

我有一个谷歌电子表格生成活动信息,如下所示,其中短语插入每行一个单元格:

April 19, 2018 at 12:07AM
April 19, 2018 at 12:07AM
April 19, 2018 at 12:15AM
April 19, 2018 at 12:15AM
April 19, 2018 at 11:43AM
April 19, 2018 at 11:43AM

这些行不断更新新的活动信息,报告与时间,月,年和日相关的活动。

我想将这些信息分成4个单元格而不是一个单元格。

[月] [日] [年] [时间] <----每个人在一个分离的单元格中。

要做到这一点,我认为我需要一个公式来将短语的月份提取到一个新的单元格,然后需要将该日期用于另一个单元格,然后是年份,然后是时间。但我不清楚如何做到这一点。你们能帮助我吗?

非常感谢!

excel google-sheets
4个回答
1
投票

如果显示如下字符串:

作为日期提取的基本公式,我将把它放在A2中,所以我可以参考A2前进而不是长公式,假设A1有字符串是

=SUBSTITUTE(TRIM(SUBSTITUTE(Left(A1,find("at",A1)-1),CHAR(32)," ")),",","")

得到:

April 19 2018

然后,我可以提取其他部分

=choose(month(A2),"January","February","March","April","May","June","July","August","September","October","November","December")

=day(A2)

=year(A2)

时间

=right(TRIM(SUBSTITUTE(A1,CHAR(32)," ")),len(TRIM(SUBSTITUTE(A1,CHAR(32)," ")))-(find(":",TRIM(SUBSTITUTE(A1,CHAR(32)," ")),1)-3))

在表格中:

In sheet formulas

您当然可以嵌入公式并避免使用A2。我发现它更容易阅读。嵌入一​​天的示例是:

=day(SUBSTITUTE(TRIM(SUBSTITUTE(Left(A1,find("at",A1)-1),CHAR(32)," ")),",",""))

如果您将起始字符串转换为可识别为日期的内容,您当然也可以使用DATEVALUE。再次举行示例:

  =DAY(DATEVALUE(SUBSTITUTE(TRIM(SUBSTITUTE(Left(A1,find("at",A1)-1),CHAR(32)," ")),",","")))

1
投票

=SPLIT(REGEXREPLACE(A14,"(.*),(.*)at (.*)","$1$2$3")," ")


0
投票

您可以转换为真正的日期时间,

=--SUBSTITUTE($A1, " at ", " ")
  1. 在单元格中显示April,单元格编号格式为mmmm
  2. 在单元格中显示4,单元格编号格式为m
  3. 4=MONTH(--SUBSTITUTE($A1, " at ", " "))放入细胞中。
  4. 将字符串April放入=TEXT(--SUBSTITUTE($A1, " at ", " "), "mmmm")的单元格中。

我相信你能算出日,年和弦时间。对于真正的时间价值使用,

=MOD(--SUBSTITUTE($A1, " at ", " "), 1)
=TIMEVALUE(--SUBSTITUTE($A1, " at ", " "))

enter image description here


0
投票

=ARRAYFORMULA(REGEXEXTRACT(A2:A7,"^(\w+)\s+(\d+),\s+(\d{4})\s+at\s+(.+)$"))
  • \ w字
  • 数字
  • 的空间
© www.soinside.com 2019 - 2024. All rights reserved.