我在excel中有一个列,每个单元格中有以下示例:
“休假:2011年8月14日
休假:2012年3月16日
从假期返回:01-01-2013
从休假返回:09-03-2012“
有时我会有更多或更少的信息。我只需找到一种方式(公式或vba)来查找最后一个“On Leave:”字符串并将日期复制到另一列。
在这种情况下,结果将是“16-03-2012”
这里的目标是找到休假的最佳日期。
有人可以帮帮我吗?
由于
答案 0 :(得分:0)
如果你假设你的文本字符串在A列中,那么如果你被允许拥有另一个专栏你就不能做这样的事情:
=IF(LEFT(A1,8)="On Leave",DATEVALUE(MID(A1,11,10)),1)
然后找到最大值。
答案 1 :(得分:0)
只使用a1:a9中的数据我使用以下数组公式给出最后一行
=MAX(IF(NOT(ISERROR(SEARCH("on leave",$A$1:$A$9))),ROW($A$1:$A$9)))
答案 2 :(得分:0)
这是另一个(假设模式没有变化)
=MAX(IF(LEFT($A$2:$A$10,8)="on leave",DATEVALUE(RIGHT($A$2:$A$10,10))))
作为数组公式输入。
答案 3 :(得分:0)
试试这个:
=MID(A1,FIND("@",SUBSTITUTE(A1,"On Leave","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"On Leave","")))/LEN("On Leave")))+LEN("On Leave : "),10)
如果您想首先在单元格使用中检查字符串“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),"")