本期推送的问题素材来自微信公众号平台的留言提问:
如何根据下图中的长/宽/高数据计算体积。
解决此问题的核心关键点在于从数据中提取长/宽/高三个数值,即从文本中提取数字。之前表妹分享的数字提取公式,都是针对于数字位于文本两端(即左边或右边)的情况,而本例中的数字位于文本中间,同时又包含乘法运算关系,因此以往方法不适用。那么此问题因该怎么解决呢?别急,本期推送表妹就再教你一个新方法,助你轻松提取“文本中间”的数据,聪明好学的你可要收藏好哟~~下面开始讲解。
~~~~~~数字提取的分割线~~~~~~
提取文本中间的数字
数据分列
【操作】复制/粘贴数据--数据--分列--分隔符号--其他:*--完成
-------------------------------------
提取数字
分离完了文本,下面就要开始提取数字了,以“长度”为例,提取公式如下:
【公式】=MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))
-------------------------------------
下面表妹来重点解释一下公式的运算原理
【解释1】字符与字节
听过表妹专业课程的同学应该都知道,EXCEL中的文本函数可以分为字符函数和字节函数两类,两者之间相差一个字母B,例如LEN函数和LENB函数,前者统计的是字符的长度,而后者统计的是字节的长度。
在EXCEL中,汉字和全角符号属于双字节字符(一个人占两个座位),而数字和英文字母属于单字节字符(一个人占一个座位),所以:
【汉字】字节数(座位数)=2*字符数(人数)
【字母/数字】字节数(座位数)=字符数(人数)。
【解释2】SEARCHB("?",B2)
SEARCHB函数是一个查找字节首次出现位置的函数。由于案例中我们要提取的是数字,因此查找内容为代表一个字节的通配符“?”。
【解释3】2*LEN(B2)-LENB(B2)
LEN函数统计的是字符长度,即LEN长度=汉字字符数+数字字符数,乘以2之后就变为:
2*LEN长度=2*汉字字符数+2*数字字符数;
LENB函数统计的是字节长度,即LENB长度=汉字字节数+数字字节数,换算成字符长度后变为:
LENB长度=2*汉字字符长度+数字字符数
两者相减后
2*LEN长度-LENB长度=2*汉字字符数+2*数字字符数-2*汉字字符长度+数字字符数=2*数字字符数-数字字符数=数字字符数=数字长度
【解释4】MIDB函数
MIDB函数是一个提取指定长度字节的函数。SEARCH返回了数字的起始位置,LEN和LENB计算出了数字的长度,MIDB就可以提取数字了。
综合计算效果如下:
------------------------------------
计算体积
仿照长度的提取公式,我们还可以提取宽度和高度,相乘之后即可得到体积,公式如下:
【公式】=MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))*MIDB(C2,SEARCHB("?",C2),2*LEN(C2)-LENB(C2))*MIDB(D2,SEARCHB("?",D2),2*LEN(D2)-LENB(D2))
-------------------------------------
以上就是“从文本中间提取数字”的方法了,怎么样?聪明的你是否都学会了呢?欢迎留言告诉表妹哟~~
如果你觉得表妹的分享内容很实用,欢迎分享给其他小伙伴呦,独乐乐不如众乐乐嘛!长按二维码图片,识别图中二维码,关注“表妹的EXCEL”,每周一、三、五获取原创分享教程。加入“表妹的EXCEL群”,和勤奋好学的小伙伴们一起快乐地学习EXCEL吧!
微信公众号 QQ学习群