excel如何提取单元格内多行文字中包含某关键字的整行文字?
B1输入:=MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1)
注意下螺丝后面的逗号,看来原来像是中文逗号。
另外,如果不是每个单元格都有,防止出现错误值:
07版后用:=IFERROR(MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("丝,",A1)+1),"")所有版本通用:=IF(ISERROR(MID(A1,FIND("丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1)),"",MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1))。
(1)用函数可以办到,假设A1对应“张三:50分”,A2对应“李四:85分”,则在B1中输入=left(A1, find(":",A1, 1)-1)就可以把“张三”提取出来,向B2填充公式,就可以把“李四”提取出来。再向B列其它格填充公式就把A列的都提取出来了。
这个公式的含义是,先用find(":",A1, 1)在A2中查找:所在的位置,然后用left()从A1中提取:号之前的数据。另外,如果A列用的:是半角的话(:是半角,:是全角,不一样的),就把公式中的":"改成":",否则会出错。
(2)分列法:如果不用函数的话,可以使用数据-分列,先选“分隔符”,再选“其它”,输入:号,下一步会把目标区域改成C1,按完成即把A列分成两列,C列是姓名,D列是分数。
(3)查找-替换法:还可以通过查找替换,查找中输入:*,替换中什么也不输,按全部替换就把:号和它后面的分数去掉了。
=MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1)
注意下螺丝后面的逗号,看来原来像是中文逗号。
另外,如果不是每个单元格都有,防止出现错误值:
07版后用:
=IFERROR(MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1),"")
所有版本通用:
=IF(ISERROR(MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1)),"",MID(A1,FIND("螺丝,",A1),FIND("个",A1,FIND("螺丝,",A1))-FIND("螺丝,",A1)+1))