我在谷歌电子表格上工作,我只需要保持状态(见下文),例如“被拒绝,提供,新...”以及具体状态的日期。在2个不同的列中。
我可以使用多个公式来完成,例如split
和left
,但这是很多手工工作(下面的所有文字都在一个单元格中)。
有人会知道如何通过单一公式自动化这个吗?
示例:
column
New (status in column 1) YYYY (date in column 2)
Interview YYYY
Rejected YYYY
“拒绝日期:2016年11月11日上午6:23:33并修改:YYYY ||日期优惠:2016年6月2日上午5:36:04并修改:YYYY ||访谈日期:2016/4/14 2:30:57并修改:YYYY ||新日期:2016年4月14日上午2:24:58并修改:YYYY ||将被聘用日期:6 / 7/2016 11:03:58 AM和修改者:YYYYY ||待定合同批准日期:2016年6月6日上午4:56:55并修改:YYYY ||采访日期:2016年5月10日12 :上午40:30和修改者:YYYY ||采访日期:2016年4月27日上午8:57:31并修改:YYYY“
谢谢
答案 0 :(得分:1)
对于仅为您提供所需结果的两列,请使用以下内容:
假设您的数据位于第J列且第1行是标题行,请将此公式放在要显示状态的列的第2行中。它将包括第一个冒号(:)的所有文本:
=ARRAYFORMULA(IF(ISTEXT( J2:J), IFERROR( REGEXEXTRACT(J2:J,"[^:]*")), ))
在您想要显示YYYY的列中,这将获取从最后一个冒号到结尾的所有内容:
=ARRAYFORMULA(IF(ISTEXT( J2:J), IFERROR( REGEXEXTRACT(J2:J,"([^: ]*)$")), ))
ARRAYFORMULA()允许公式在列上工作,而不会将公式复制到每个单元格。
IFERROR()如果找不到匹配项,请勿让我们显示错误。
REGEXTRACT()返回与正则表达式匹配的字符串部分。有很多通过搜索使用这些的例子,this GitHub is Google's reference on their use。
答案 1 :(得分:0)
文档和背景
我建议你看一下操作Google文档文档中的字符串的函数:
REGEXEXTRACT从字符串
中提取regular expressionsFIND获取字符串中单词的位置
MID获取字符串
的一部分LEN获取字符串的长度
这些功能类似于Excel的功能。
我还会将链接添加到regular expressions supported by Google docs,以便您可以深入了解案例。
<强>实施强>
我们的想法是在电子表格中的公式旁边放一个列,其中包含您要查找的关键字。因此,所需的工作表将如下所示:
我们接下来要做的是在B列中查找所需的关键字,并在关键字输入后和下一个number/number/number
之前提取下一个字符串and
。
<强>解决方案强>
因此,单元格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中查找关键字。