时间:2023-11-18 12:15:07 来源:本站 人气:
今天一位做系统开发的同事,给我以下样表:
由于导入系统需要,需要把每个“档号”的最后一个“-”符号及以后内容的内容去掉(上图中的红色部分)。
需要解决两个难点:
数据有几万行,不可能手工去除;
每个“档号”长度不一,不能用简单的MID、RIGHT、LEFT等函数。
给出两种解决方案:
快速填充;
公式。
快速填充
复制出第一个,Ctrl+E快速填充,如下动图:
快速填充虽然简单,但有版本要求。用的EXCEL2016可以使用,EXCEL2013 没有用过,据说可以。但2010版本及以下肯定是不能用快速填充的。
公式实现
在B2单元格输入公式:
=MID(A2,1,LOOKUP(9^9,FIND(“-“,A2,ROW($1:$30)))-1)
可得第一个结果,公式向下填充即可实现所有档号修改。
公式解析
FIND(“-“,A2,ROW($1:$30)):
在A2单元格字符串中的第一位开始到第30位寻找字符“-”,此部分的返回值是下图中的划红线部分:
其中查找到第30位,是因为“档号”最长不过30位,此数值可以根据实际更改。
LOOKUP(9^9,FIND(“-“,A2,ROW($1:$30))):
在上述数值中查找一个极大值9^9,因为查不到这个值,所以返回最后一个值20.
MID(A2,1,LOOKUP(9^9,FIND(“-“,A2,ROW($1:$30)))-1):
从A2字符串中从第一位取到第19位,即得结果。