今天要讨论的这个问题可以说是很常见的了,就是下图中的这种情况:
都是数字,但是求和结果为零。
要说解决这个问题很容易,网上会有各种教程,分列法,选择性粘贴法,公式法等等。
但如果不能真正明白出现这种问题的来龙去脉,可能就无法真正的明白如何解决这个问题。
老菜鸟今天就把这个看似很简单的问题彻底的和大家聊明白。
以下讨论的核心问题就是格式的转换。

先有格式还是先有数据

很多朋友都知道,不能求和基本上都是因为单元格格式不对,通常都是文本格式,改成常规格式或者数字格式就能求和了。
可是实际情况真的如此吗?
请看:
你会发现,无论你改什么格式,其实都没有变化。
这里就有必要先解释一下一个很多人都不知道的知识点:单元格格式和数字格式是一回事吗?
再来看一个操作:
不知道你看明白这个操作要表达的意思了吗?
在B列,修改格式没用,但是将其中一个数据复制到空白单元格时,会出现绿色的三角。
这里有两个很关键的点:这个空白单元格是常规格式,粘贴的时候选择了粘贴数值。
在没有利用选项将数据转为数值的时候,修改格式同样不发生作用,但是当我们把数据转为数值之后,修改格式就可以生效了。
似乎你有点明白了,那就再来一个动画,让你更明白一点:
这次的情况有点复杂,B列看上去是数值,实际上里面的数据是文本。
将空白单元格预先设置为日期格式,直接粘贴而不是粘贴数值。
得到的结果是原来日期格式的单元格变成了数值格式,但是原来的文本格式的数字还是文本格式,只不过出现了绿色的三角。
通过以上介绍,只是为了让你明白一件事:单元格格式和数据格式不是一回事!
实际上大多数不能求和的问题都出现在系统导出的数据,这里就有一个问题,系统导出的数据所具有的格式是先于单元格格式的(先天)。
而我们平时自己建立的表格,是先有单元格格式而后有具体数据的(后天),这一点非常重要。
因此解决问题的关键就是修改数据格式,而不仅仅是修改单元格格式这么简单了……

修改数据格式的三个方法

再来看一波操作:
看出什么了?
如果将单元格格式设置为文本,双击后会出现绿三角。
如果将单元格格式设置为常规,双击后会变成常规数字,同时该数字参与求和。
这其实就是解决不能求和这类问题的方法源头!
首先要保证所有数字所在的单元格是常规格式(数字格式也可以),然后双击单元格,对单元格内的数字完成了一次编辑(录入和修改都是编辑)操作,这样就把数据的先天格式变成了后天格式,相当于重新录入了一遍。
那么问题来了,一列数据那么多,一个一个双击多累啊。
所以就有了分列法。
步骤很简单:选择→分列→完成。
我就好奇了,这怎么就能改变数据格式呢。
其实奥秘就在分列的第三步:
分列在这里起到了两个作用,批量编辑单元格和批量修改格式。
由于数字本身没有可以作为分列的符号,所以一列还是一列,但是不代表没有发生变化,其实分列对每个单元格都是做了事情的,只不过你看不到。
而默认的常规格式也起到了很关键的作用。
类似的问题还出现在系统导出的日期不是真日期这种情况,就不能分列直接完成了,必须在第三步选择日期格式才行。
好了,还剩最后一个问题。
如果数据在多列的话(系统导出的数据往往是多列),一列分一次也麻烦,有好办法吗?
这就用上了选择性粘贴。
操作也很简单,复制任意空白单元格(相当于0),选择数据区域,选择性粘贴,加。
这个操作相当于对每个数字加了0,不改变数值大小,但是实现了对每个单元格修改的操作。
总体来说,分列和粘贴都有编辑单元格的功能,所以才能实现批量修改数据格式的效果。
以上种种都是在没有出现绿色三角的情况下,如果你的表格中能看到绿色三角,那么恭喜你,可以直接转换。
这个操作只有一个要点,选择数字时,第一个单元格一定要有绿三角。
推一下我新出的书,也就是这本,反响非常好,出版社的主编说“第一次看到这本书的时候感觉非常好,这么多年能把函数用这种风格的语言讲出来的,几乎没有”。因此推荐过需要从头系统学习函数的小伙伴,不夸张地说,看了肯定能受益,毕竟书里的内容,都是我自己踩过的坑。而且有小伙伴说他解决工作中的问题基本上都是拿书里的示例直接套用,点击图片下面的链接可以免费阅读,觉得不错再购买。