同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位,如何简单地把带单位的数字提取出来 。
首先如图1这样结构的数据,用CTRL E的智能提取方式识别有问题,带小数点就识别不正确了 。那么就只好借用函数了 。这种数字 单位的数据结构,通常都是用LEFT , 提取字符的函数 。LEFT(单元格,提几位),提取单元格从左到右多少位的字符 。如图2,提取了3位字符 。注意:Left函数得到的数字是文本型的,不能直接参与计算;加上Value函数就可以转化为数值型的了 。
但是哪有这么齐整的,都是一样位数的数据呢?我们需要根据不同的位数提取不同的值 , 这时就要加入Find函数了 。如图3,Find("元",单元格) , 得到的是“元”这个字出现在单元格数据的第几位,那么用“这个位数”减1,前面的就都是数字了 。公式Value(Left(单元格,Find("元",单元格)-1)) 就可很好地提取出带单位的数据中的数字 。如图4
【同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位】这公式有点小问题:就是带的单位不是“元” , 就要将公式的“元”改为“万” 。公式的通用性不好,如何更通用些? 加入ENCODEURL函数,官方解释转换字符编码 。作用:将汉字转成“%” 不认识 。这样就找到汉字的共同点了 。再看示例,图5 。然后用Find(“%”,Encodeurl(单元格)),图6,可以看出得到的数字,就是单元格中数字的位数,再用LEFT取出来 。图7,不用管后面接的是什么单位 。
其实只要是这种,数字在前,汉字在后的数据结构,都可以用这公式提出数字 。公式只有两处填写单元格地址的,都随着公式的拖动变化,不需要另外更改别的 , 通用性极好 。

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

同事常要出通报,从别的同事那得到的报表数据各种样式,有的数字会带有单位

相关经验推荐