还是使用lookup(1,)套路,但是发现第1个、第4个和最后一个是提取不成功的,我们还是需要使用查找替换将"至"改为-,降低日期的差异性!

在不确定提取位数的情况之下,将lookup函数的查找值定为一个比较大的数字比如9e+307,比最大值还要大!同理文本【座】也是Excel中最大的文本!所以就将查找套路改为lookup(9e+307,)

公式解释:

1、从"-"出现的位置开始查找,添加负号将文本转为错误LOOKUP(9E+307,--MID(K13,FIND("-",K13)+1,ROW($1:$15)))

2、--text(,"[<32]7-0")将上一步提取出的值转为日期格式,判断是否超过32,因为日期最多是31天3、iferror(,p13)如果没有-就提取不到值,将错误改为P13中日期,这样开始和结束日期是同一天,就是案例中的王晓刚/赵六等同事附上操作演示:

总结:以上就是lookup函数查找的固定套路——以大欺小法,lookup函数会提取到休假的开始和结束日期!

三、计算天数

如果你不需要去除周末的日期,直接两个日期相减+1就可以了=Q13-P13+1去除周末2天就需要更改公式为=NETWORKDAYS.INTL(P13