如图,想提取里面的日期:日期比较复杂,格式不统一,要用到数组进行提取:

excel函数技巧:mmult+row数组搞定复杂日期提取-趣帮office教程网

=MID(LEFT(A3,11),1,11-MIN(IF(MMULT(((LEFT(RIGHT(LEFT(A3,11),ROW($1:$6) {0,1}),1)>"9") (LEFT(RIGHT(LEFT(A3,11),ROW($1:$6) {0,1}),1)<"0"))/1,{10;1})=10,ROW($1:$6))))

其中各函数的作用:mid、left、right,提取字符

row:结合leftright形成数组,将文本分拆

{0,1}:协助row,形成两列交错数组,便于比较

<"0">"9",将拆分的字与9的码表值�的码表值进行比较,相当于将整个字符分为符号、数字、汉字三类,并进行或逻辑判断,将字符变成两列FALSE或者TURE构成的数组。

/1将逻辑判断形成的FALSE、TURE分别转化成0、1,成为数字后方便运算。

mmult({10;1},将两列合并成一列,并能够区分0,1值合并后的行之间的不同。

if(mmult……=10,row(1:6))将列中值=10的数组根据行号进行排序性赋值,得到具体的行号。再用min函数取最小的一个值,得到mid函数所需要的截取字符串的数量。

这个比较难理解,大家一个函数套一个函数的呈现一个就基本上明白。当然mmult函数的运算法则是高等数学的内容需要大家好好学习。