EXCEL中如何提取我要的数据

请大家看第一张图我想提取出“唐小谋”以及唐小谋前一个审批人的记录,框住的地方就是我需要提出来的数据,唯一规律性就是以唐小谋为参照,提取出唐小谋和他前一个人的审批记录,有没有大神帮忙一下。第二张图是提取后数据的示意图

如果只是提取自动换行的最后两行

在B2中输入或复制粘贴下列公式

=MID(A2,FIND("#",SUBSTITUTE(A2,CHAR(10),"#",LEN(A2)-LEN(SUBSTITUTE(A2,CHAR(10),))-1))+1,LEN(A2))

下拉填充

将B列非空单元格区域设置为自动换行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-11
用“数据透视表”可行,若母表有更新时,在子表只要点击更新即可。另可用vlookup 公式在子表中输入姓名,在性别格式中输入:B2=vlookup(A2,"母表"!$A:$E,2,false),在住址格式中输入:C2==vlookup(A2,"母表"!$A:$E,4,false)... 以此类推... 以上要求就是姓名必须要手动填写。追问

唐小谋前面的人姓名没有规律性,这才是难点

第2个回答  2019-07-11
1个单元格里有4行数据,估计是强行回车的结果

如果拆分到4行,用index数组公式
第3个回答  2019-07-11
这种公式基本没戏,编程分析单元格数据,可以解析出来。
第4个回答  2019-07-11

=MID(地址,IF((LEN(地址)-LEN(SUBSTITUTE(地址,";","")))>=3,FIND("@",SUBSTITUTE(地址,";","@",(LEN(地址)-LEN(SUBSTITUTE(地址,";","")))-1-(LEN(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))))-LEN(SUBSTITUTE(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))),";",""))))),0)+1,FIND("@",SUBSTITUTE(地址,";","@",(LEN(地址)-LEN(SUBSTITUTE(地址,";","")))-(LEN(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))))-LEN(SUBSTITUTE(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))),";","")))+1))-IF((LEN(地址)-LEN(SUBSTITUTE(地址,";","")))>=3,FIND("@",SUBSTITUTE(地址,";","@",(LEN(地址)-LEN(SUBSTITUTE(地址,";","")))-1-(LEN(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))))-LEN(SUBSTITUTE(RIGHT(地址,LEN(地址)-(FIND("唐小谋",地址))),";",""))))),0)+1)

将工式中的地址全部替换为信息来源单元格地址就行(例如A1)

如果单元格里的";"是中文符号,那么把工式中的";"替换成“;”。有多行的话下拉即可

相似回答