excel函数技巧:reduce+textsplit+iferror数据提取形成表格-趣帮office教程网

如图,A列为源数据,每一个单元格里都以文本的形式记录了产品销售的日期、产品名称和数量三个信息,如何将他们提取出来形成如C列至E列的表格,公式如下:

=REDUCE(HSTACK("日期","产品名称","数量"),A1:A4,LAMBDA(x,y,LET(

time,TEXTBEFORE(y,":"),

content,TEXTAFTER(y,":"),

clean,REDUCE(content,VSTACK(",",":","。"," ","斤","件"),LAMBDA(x,y,SUBSTITUTE(x,y,""))),

name,TEXTSPLIT(clean,,VSTACK(SEQUENCE(10)-1,"."),1),

number,--TEXTSPLIT(clean,,name,1),

VSTACK(x,IFERROR(HSTACK(time,name,number),time)),

)))

公式思路:公式主题为reduce(vstack(iferror……核心是iferror中对三个变量的计算。

最为核心的是变量name的计算,为了计算还涉及到用变量clean清除掉不需要的字符,这次共删除了6个字符,大大体现了reduce substitute的威力。