文档介绍:实例2:从单元格中提取指定的字符
问题:现有张数据表,现在里面A列的数据都是 A*B+C*D 样式(*2+*4),现在要的结果是在后面得出单价1(A)、数量1(B)、单价2(C)、数量2(D)。
您是游客您没有权限查看该图片
当然你可以手工一个一个输入,但是这里的数据量还比较小,要是这样的记录有几千条甚至更多,那么一条一条的输入未免就有点劳民伤财了,所以我们得想点“偷懒”的办法。
分析:要从A列的数据中提取出A、B、C、D,首先得知道它们之间的分界是什么?
因为这四个数值都不能确定位数,可能是一位数,也可能是6位数,所以使用运算符号“*”和“+”去定位是比较理想的。
那么A就是左起第一个“*”号左边的全部数值;
B即是第一个“*”号和“+”号之间的全部数值;
C是“+”号和左起第2个“*”号之间的全部数值;
D是左起第2个“*”号右边的全部数值。
这样就可以编公式了:
“单价1”列(B列)的B2中输入=LEFT(A2,FIND("*",A2)-1)
“数量1”列(C列)的C2中输入=MID(A2,FIND("*",A2)+1,FIND("+",A2)-FIND("*",A2)-1)
“单价2”列(D列)的D2中输入=MID(A2,FIND("+",A2)+1,FIND("*",A2,FIND("+",A2))-FIND("+",A2)-1)
“数量2”列(E列)的E2中输入=RIGHT(A2,LEN(A2)-FIND("*",A2,FIND("*",A2)+1))
函数解释:
这里用到了left、find、mid、right、len这五个函数,先来解释下他们的含义及用法。
mid、len函数在上篇有介绍,请参阅跟番茄一起来学Excel函数——实例1:根据身份证计算年龄
left函数是得到字符串左部指定个数的字符。
语法格式:LEFT( string, n )
参数:string 指定要提取子串的字符串,
               n 指定字符串长度返回值string。
说明:函数执行成功时返回string字符串左边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Left()函数返回NULL。如果n的值大于string字符串的长度,那么Left()函数返回整个string字符串,但并不增加其它字符。
举例: 如果A1=“安徽省蚌埠市固镇县杨庙乡”,则公式“=LEFT(A1,3)”返回安徽省。
right函数right函数的功能是从字符串右端取指定个数字符。
语法格式:Right ( string, n )
参数:string指定要提取子串的字符串
               n指定字符串长度返回值String。
说明:函数执行成功时返回string字符串右边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Right()函数返回NULL。如果n的值大于string字符串的长度,那么Right()函数返回整个string字符串,但并不增加其它字符。
举例:如果A1=“安徽省蚌埠市固镇县杨庙乡”,则公式“=LEFT(A1,3)”返回“杨庙乡”。
find函数用来对原始数据中某个字符串进行定位,以确定其位置。Find函数进行定位时