如图,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的威力。
评论 (0)