Excel表文本变数字

Excel必备教程:将文本型数字转换为数值的7种武器
如图1所示,其中B8单元格中的运算公式为:
=SUM(B2:B7)
C8单元格的公式为:
=SUM(C2:C7)
由于表格中B5单元格的数字为文本格式,导致B8单元格的SUM函数求和公式统计结果不正确;此外C2:C7单元格中的数字也均为文本格式,导致C8单元格的求和返回结果为0,这种由于文本型数字所造成的错误常常令人头疼 。
文本型数字可以作为数值直接参与四则运算 , 但当此类数据以数组或者单元格引用的形式作为某些统计函数(如SUM、AVERAGE和COUNT 函数等)的参数时,将被视为文本,而不能自动转化为数值参与运算,例如图1中的例子 。

Excel表文本变数字

图1 文本型数字无法统计
1 利用查错工具批量转换
为了让这些文本型的数字能够正确地参与运算,可以将其转换为数值 。图1中的B5单元格以及C2:C7单元格的左上角都显示了一个绿色三角,这是Excel默认开启“错误检查”的情况下所显示的错误标识 。选中C2:C7单元格区域,单元格左侧会弹出显示为黄色感叹号的错误指示器,单击这个黄色感叹号,并在下拉菜单中选择【转换为数字】命令,就可以将选中单元格中的文本型数字批量转换为数值 。如图2所示 。
Excel表文本变数字

图2 利用错误检查工具转换文本为数值
转换成数值以后,求和公式就能统计出正确的结果,如图3所示 。
Excel表文本变数字

图3 转换成数值以后正确运算
2 文本型数字转数值的公式方法
有些时候,文本型的数字并不是直接出现在单元格中,而是产生于公式运算的中间过程,例如通过LEFT函数、MID函数、TEXT函数等文本函数的运算结果,文本合并符(&)合并计算的结果等都是文本型,在对其进行后续运算时,如果不注意文本和数值的类型区别,也可能会造成错误的结果 。
例如在图4所示的表格中,要根据B列中所提供的客户联系电话以及F和G列的手机号段与运营商的对应关系,在C列中使用公式查询每位客户电话的所属运营商 。
Excel表文本变数字

图4 运营商查询
通常的做法是先通过LEFT函数取得B列号码的前3位号段 , 然后通过VLOOKUP函数在F:G的区域内进行匹配查询 。
通常能够想到输入在C2单元格的公式是:
=VLOOKUP(LEFT(B2,3),F:G,2,0)
但上面这个公式会返回错误值#N/A , 原因就在于LEFT函数的运算结果是一个文本型的数字,而在进行匹配查询时,F列的查询目标却是数值型 。两者数据类型不同,造成VLOOKUP函数无法得到正确结果 。
针对上述这种情况 , 在不改变表格数据源的情况下,需要通过公式本身的改造来使其恢复正常运算 。
根据文本型数字的特性 , 可以通过数学上的加减乘除运算或使用VALUE函数将其转换成数值,因此 , 上述公式可以改造成以下几种方式:
=VLOOKUP(1*LEFT(B2,3),F:G,2,0)【任何数乘以1都是其本身】
=VLOOKUP(0+LEFT(B2,3),F:G,2,0)【任何数加0还是他自己】
=VLOOKUP(LEFT(B2,3)-0,F:G,2,0)【任何数减0还是他自己】
=VLOOKUP(LEFT(B2,3)/1,F:G,2,0)【任何数除以1还是其本身】
=VLOOKUP(–LEFT(B2,3),F:G,2,0)【负负得正】
=VLOOKUP(VALUE(LEFT(B2,3)),F:G,2,0)【使用函数强制转换为数值】
其中,第5个公式在需转换的文本型数字前输入两个减号,表示“减负运算” , 其实质是下面公式的简化:
=VLOOKUP(0–LEFT(B2,3),F:G,2,0)
【Excel表文本变数字】
经验证,由于减负运算的效率略高于其他方法,因而在实际应用中通常会采用这种方式来进行文本到数值的转换 。
所以,负负得正的方法最快也最酷,大家记住就行啦!
的根本原因在于单元格的格式设置得不正确 。
Excel会根据输入的数据进行格式判断,然后自动转换格式 。例如输入分数会自动转换为日期,输入身份证号码等较长的数字时会自动转换为科学计数 。诸如此类的问题(包括当前)的解决方法都是类似的 。
Excel文本变数字怎么破?
有两个办法 。办法1:想将单元格的格式设置为“文本”,然后再输入内容(1)、(2)、(3)……输入完毕,可以看到所有单元格前面显示了一个绿色的小三角 。
办法2:先输入一个英文半角符号状态下的单元号,然后再输入(1),选中这个单元格,向下填充形成序列(1)、(2)、(3)……
Excel表文本变数字

相反的,Excel数字变文本怎么办?
也有两个办法 。办法1:选中所有单元格,点击“数据”——“分列”,然后保持默认设置,一步一步操作即可 。这个办法对于日期变数字的问题也适用 。
Excel表文本变数字

办法2:选中所有单元格 , 点击绿色的小三角 , 选择“转换为数字” 。
Excel表文本变数字

单元格内容有全角、有半角 , 怎么办?
使用ASC(text)函数,可以将全角字符自动转换为半角字符 。

经验总结扩展阅读