在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),"")