拆分并提取相同的function

我在Google电子表格上工作,只需要保持“拒绝,提供,新build”等状态(见下文)以及具体状态的date。 所以在2个不同的列。

我可以用多个公式如splitleft来做,但这是很多的手工工作(下面的所有文本都在一个单元格中)。

任何人都有一个想法如何通过一个单一的公式自动化?

例:

 column New (status in column 1) YYYY (date in column 2) Interview YYYY Rejected YYYY 

“拒绝date:11/11/2016 6:23:33上午和修改:YYYY ||提供date:6/2/2016 5:36:04上午和修改:YYYY ||采访date:4 / 14/2016 2:30:57 AM和修改者:YYYY ||新的date:2016/4/14 2:24:58和修改者:YYYY ||聘请date:6/7/2016上午11:03:58和修改者:YYYYY ||待定合同批准date:2016/6/7 4:56:55和修改者:YYYY ||访谈date:5/10/2016 12:40: 30 AM和修改者:YYYY ||访谈date:4/27/2016 8:57:31 AM和修改者:YYYY“

谢谢

对于只给出您正在查找的结果的两列,请使用以下内容:

假设您的数据在列J中,第1行是标题行,请将此公式放在希望显示状态的列的第2行。 它将包括所有的文本到第一个冒号(:):

 =ARRAYFORMULA(IF(ISTEXT( J2:J), IFERROR( REGEXEXTRACT(J2:J,"[^:]*")), )) 

在你想YYYY出现的列中,这将抓取从最后一个冒号到结尾的所有内容:

 =ARRAYFORMULA(IF(ISTEXT( J2:J), IFERROR( REGEXEXTRACT(J2:J,"([^: ]*)$")), )) 

ARRAYFORMULA()允许公式在列上工作,而无需将公式复制到每个单元格。

IFERROR()如果没有find匹配,让我们不显示错误。

REGEXTRACT()返回与正则expression式匹配的string部分。 有很多使用search的例子, 这个GitHub是Google的参考 。

文档和背景

我build议你看一下从Google Docs文档中操纵string的函数:

REGEXEXTRACT从string中提取正则expression式

find一个string中的单词的位置

MID获取string的一部分

LEN得到一个string的长度

这些function类似于Excel的function。

我还会将链接添加到Google文档支持的正则expression式,以便深入了解这些情况。

履行

这个想法是在电子表格中的公式旁边有一列,其中包含您正在查找的关键字。 因此,所需的工作表如下所示:

在这里输入图像说明

然后,我们在B列中查找所需的关键字,并在关键字input之后和下一个之前提取下一个具有number/number/number模式的string。

因此,单元格C1的所需公式如下所示:

 =REGEXEXTRACT(MID($A$1;FIND(B1;$A$1);FIND("and";$A$1;FIND(B1;$A$1) + LEN(B1)));"[0-9]+\/[0-9]+\/[0-9]+") 

请注意,您可以将公式拖到下面的单元格中,该函数将在单元格A1中查找关键字。