excel函数技巧:利用复数或者reduce完成拆分数据明细-趣帮office教程网

如图,想将A列数据进行进行拆解,将包含的所有数字都展示出来,形成一列,公式如下:

=TRIM(MID(SUBSTITUTE(TEXTJOIN("-",,IF(COLUMN(A:Y)>MMULT(-IMAGINARY(IMDIV(A$2:A5&"i",{"-i",1})),{1;1}) 1,"",IMREAL(A$2:A5&"i") COLUMN(A:Y)-1)),"-",REPT(" ",99)),ROW(A1)*99-98,99))

公式思路:此例巧妙的利用了复数的的实部和虚部函数,同时利用了数组的运算、矩阵的运算。说到底是需要非常强的数学知识和函数知识。一般的同学可能很难理解。我们再看下面一种解法:

=DROP(REDUCE("",A2:A5,LAMBDA(x,y,VSTACK(x,SEQUENCE(NPV(-2,--TEXTSPLIT(y,"-")) 1,,TEXTBEFORE(y,"-"))))),1)

公式思路:此公式利用reduce函数,lambda主体使用字符提取函数textbefore、利用textsplit函数拆分两个数据。函数基本都是简单的,这也是函数式编程思想的妙用。