excel如何将一列单元格中存在相同字符提取出来至另一列。

由图中的B列数据源得到C列,最好能用函数处理。在此先谢过了。

看附件吧, 你在C2输入公式,按CTRL+SHIFT+回车键结束,下拉就行了.

这个公式是提取至少前三个字符相同的字符, 如果有前二个相同的情况,你将公式中的数字3改成2,

引用的单元格名称的数字不能改哟.

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-07
假定数据在A列,相同字符是“ABC“。
示例公式:
=index(a:a,small(if(isnumber(find("ABC",a$1:a$100)),row($1:$100),4^8),row(a1)))&""
按组合键ctrl+shift+enter结束公式,下拉填充至出现空白。
说明:公式用FIND函数匹配有ABC字符的单元格,并赋值自然数序列,没有匹配到的赋值固定数4^8。为保证提取到的数据中间不间断,用SMALL函数将匹配的数据排前。最后用INDEX函数将符合条件的数据一一列出。
第2个回答  2013-10-17
先不说能不能实现,提个问题:如果B列有这三个“创业大厦、创新大厦、创投大厦”,你是在C列都只显示“创”字吗?追问

不是,显示“创业大厦”,就是向下比较,比如B2和B3存在3个相同字符“百富琪”则提取这3个相同字符至另一列;如果向下比较,没有发现相同字符,则不进行提取操作,保留原有单元格内容不变。

追答

我的意思就是:
B C
创业大厦 显示“创”还是“创业大厦”
创新大厦 显示“创”还是“创新大厦”
创投大厦 显示“创”还是“创投大厦”
你看看你的表格,不出意外的话类似的情况肯定有,比如:B11就可能是“电业大厦”

追问

sorry!没错,就是你所说的答案!需要用到数组函数吗?抱歉,已经有人回答了,不够你说的这种情况也存在,我这次只需要处理前面几个字符相同就可以,至于隔几个字符相同暂不需要考虑,不够还是很感谢你的热心回答。

相似回答