excel高手请进:如何去除最后一个"_"后面的字符?(含下划线)


诺基亚_N6999_红色
诺基亚_N6900_古铜色
诺基亚_N6919_黑
诺基亚_N6978_灰+银
...
最后将它变为
诺基亚_N6999
诺基亚_N6900
诺基亚_N6919
诺基亚_N6978

还有一个问题,如何一次性提取第一个"_"手机的品牌、
比如:
摩托罗拉_5600
诺基亚_n2300
LG_7888
...
第二个问题是将它们变为
摩托罗拉
诺基亚
LG

请用excel里的函数或公式做,用vb我看不懂!
第一个问题不一定是前9位,
也可能是
摩托罗拉_5600_红
LG_V5600_银色

第1个回答  2012-03-05
恕我直言,楼主第一个问题最简单的方案应该如下:直接利用数据分列,选择“固定宽度-每列字段加空格对齐”这种方式,直接将分列线打在第二个“_”前面,这是是不是一步到位?还需要楼下如此繁琐的公式?
第2个回答  2008-01-26
还不如分列

1.数据---分列---然后按你的要求分成三列
然后再做个公式:C1输入 =A1&B1 合并就得到你要的结果了
2.还是分列 分出来的所有品牌都在A列 不就OK 了?
第3个回答  2008-01-26
=LEFT(A1,FIND("_",A1,6)-1)

=LEFT(A1,FIND("_",A1)-1)

如果每个单元格都有二根下划线,第一个万能公式修改为:
=LEFT(A1,FIND("_",A1,FIND("_",A1)+1)-1)

如果有的单元格只有一根下划线,修改为:

=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"_",""))>=2,LEFT(A1,FIND("_",A1,FIND("_",A1)+1)-1),A1)
第4个回答  2008-01-26
第一个:
=REPLACE(A1,FIND("@",SUBSTITUTE(A1,"_","@",2)),LEN(A1),"")

第二个:
=REPLACE(A1,FIND("_",A1),LEN(A1),"")
或者数据分列,分割符号其他加个"_",第一列后面的列不导出本回答被提问者采纳
第5个回答  2008-01-26
第一个问题:
=LEFT(A1,FIND("@",SUBSTITUTE(A1,"_","@",2))-1)

第二个问题:
=LEFT(A1,FIND("_",A1)-1)
相似回答