在Excel中删除string的部分

在每个单元格中的下面的示例中,我有一个excel列:

“在休假:14-08-2011

在假期:16-03-2012

从假期返回:01-01-2013

从假回来:09-03-2012“

有时我有更多或更less的信息。 我只需要find一种方法(公式或vba)来查找最后一个“On Leave:”string并将date复制到另一列。

在这种情况下,结果将是“16-03-2012”

这里的目标是find最好的假期。

有人可以帮帮我吗?

谢谢

如果你被允许有另一列,你可以不只是做这样的事情,如果我假设你的文本string是在列A:

=IF(LEFT(A1,8)="On Leave",DATEVALUE(MID(A1,11,10)),1) 

然后find最大的。

只是使用a1:a9中的数据我用下面的数组公式给出最后一个行号

 =MAX(IF(NOT(ISERROR(SEARCH("on leave",$A$1:$A$9))),ROW($A$1:$A$9))) 

这是另一个(假设模式不变)

 =MAX(IF(LEFT($A$2:$A$10,8)="on leave",DATEVALUE(RIGHT($A$2:$A$10,10)))) 

作为数组公式input。

尝试这个:

 =MID(A1,FIND("@",SUBSTITUTE(A1,"On Leave","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"On Leave","")))/LEN("On Leave")))+LEN("On Leave : "),10) 

如果你想在单元格使用中首先检查string“On Leave”

 =IF(LEFT(A1,8)="On Leave",MID(A1,FIND("@",SUBSTITUTE(A1,"On Leave","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"On Leave","")))/LEN("On Leave")))+LEN("On Leave : "),10),"") 

在这里输入图像说明