EXCEL函数应用,提取单元格中两个符号之间的数值

如76项,怎样分别把规格377与9提取出来,有没什么函数是可以提起介于什么与什么之间的数据的,就如377是介于ф与*之间的

我假设这个数据所在单元格为D2单元格
则提取377的公式为(提取"ф"和"*"之间的数字,没有则显示空值)
=IF(D2="","",IF(COUNT(FIND("ф",D2),FIND("*",D2))=2,MID(D2,FIND("ф",D2)+1,FIND("*",D2)-1-FIND("ф",D2)),""))

提取9的公式为(提取"*"和"L"之间的数字,没有则显示空值)
=IF(D2="","",IF(COUNT(FIND("*",D2),FIND("L",D2))=2,MID(D2,FIND("*",D2)+1,FIND("L",D2)-1-FIND("*",D2)),""))追问

数据提取成功,但为什么提取出来的数据不能用在另一个函数的计算

追答

这是因为这样提取出来的值是文本值
我改一下公式就可以计算了,就是加上两个负号让文本数字转为常规数字

则提取377的公式为(提取"ф"和"*"之间的数字,没有则显示空值)
=IF(D2="","",IF(COUNT(FIND("ф",D2),FIND("*",D2))=2,--MID(D2,FIND("ф",D2)+1,FIND("*",D2)-1-FIND("ф",D2)),""))

提取9的公式为(提取"*"和"L"之间的数字,没有则显示空值)
=IF(D2="","",IF(COUNT(FIND("*",D2),FIND("L",D2))=2,--MID(D2,FIND("*",D2)+1,FIND("L",D2)-1-FIND("*",D2)),""))

如果你的公式在提取值为空值时公式也出错,则再改公式让空值为0值
则提取377的公式为(提取"ф"和"*"之间的数字,没有则显示0值)
=IF(D2="",,IF(COUNT(FIND("ф",D2),FIND("*",D2))=2,--MID(D2,FIND("ф",D2)+1,FIND("*",D2)-1-FIND("ф",D2)),))

提取9的公式为(提取"*"和"L"之间的数字,没有则显示0值)
=IF(D2="",,IF(COUNT(FIND("*",D2),FIND("L",D2))=2,--MID(D2,FIND("*",D2)+1,FIND("L",D2)-1-FIND("*",D2)),))

追问

 

 

*之后  L之前的数据不能自动显示    但我把L以后的数据往前移,又能提取出来,是什么问题,如果不行,这样也可以,不过要调间距就是了

追答

你是按下ALT+回车键 进行强行换行了吧
这样得出的值就会带上换行符,运算时当然出错了

公式改成CHAR

提取9的公式为(提取"*"和"L"之间的数字,没有则显示0值)
=IF(D2="",,IF(COUNT(FIND("*",D2),FIND("L",D2))=2,--SUBSTITUTE(MID(D2,FIND("*",D2)+1,FIND("L",D2)-1-FIND("*",D2)),CHAR(10),),))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16
假设你的900弯头ф377*9L=1088字段在F3单元格,你可以在任一单元格输入以下公式,提取377
=MID(F3,SEARCH("ф",F3)+1,3)
可以在任一单元格输入以下公式,提取9
=MID(F3,SEARCH("ф",F3)+5,1)

*在EXCEL公式中也代表任意职,所以无法用第一个公式查找
第2个回答  2013-04-16
不一定要用函数, 可以给多两列, 一列放ф, 一列放337*9等,
一列放L.再说好象没有此类函数.
相似回答