欢迎光临散文网 会员登陆 & 注册

采购:一个SUM函数,浪费了我整整1个小时

2023-08-16 07:15 作者:秋叶Excel  | 我要投稿

我是拉小登,一个会设计表格的 Excel 老师~


昨天有个同学的提问,让我非常的头秃。



公式的长度有 6 行!!!


拉登老师的头发也是一根一根长出来的,不是充话费送的!我们来一起保护它,好吗?



类似的奇葩问题并不少,上周还给一个采购的同学解答了一个 SUM 函数的问题,问题很简单,但是我却花了 1 个小时才搞定。


为了避免类似低效工作,在你身上重演,请务必看完这篇文章。

问题描述



年底采购小姐姐做数据盘点的时候,遇到了一个很奇怪的事情。


表格 E 列中明明有数据,但是 SUM 求和的结果却是 0。



这样的问题我见的太多了,看一眼我就知道问题在哪里。



问题原因:


数字求和为 0,通常是因为是数据被保存成了文本类型,而导致的。


解决方法:


非常简单,使用分列功能,把文本转成数字就可以了。


本以为是一个很简单的问题,我就要过来表格,随手帮她解答一下,结果,这是一个无底洞,前前后后花了我 1 个小时时间。


我跟大家回顾一下这个过程。

公式嵌套错误排查


我们从头开始,一步一步还原整个排查的过程。


分列功能,文本转数字


前面说过,SUM 求和为 0 的问题,常规方法是使用分列功能,把文本转成数字就可以搞定。



不过,很显然,这个操作没有成功,求和结果还是 0。每个单元格的格式都已经是「常规」。


那么问题肯定是出现在某个单元格里,没办法,只能逐个的排查了。



每个单元格,是前两列数据相减得出来的,那么排查过程中,免不了还要检查前面引用的两列数据,这就麻了烦了。


SUM 求和错误排查


这样做显然是行不通的,数据有 45 行,再乘以前面两列,那就是 45*3=135 个单元格,没个半小时搞不定。


换个思路!


既然是 SUM 求和出错的,那么就每个单元格都相加测试一下,看哪个单元格开始算错了。
这让我想到了行列锁定中的「拉灯模式」用法。


在第 1 个数据旁边的空白单元格里输入 SUM 公式:



公式如下:


  • =SUM($E$3:E3)


这样填充公式后,可以实时查看,截止到当前单元格的求和结果,容易排查出错误。



果不其然,在第 17 行的时候,我们发现了错误:



SUM 函数计算错误,数据没有累加。再检查左侧的单元格里的公式:


  • = C17-D17

  • = 0 - 161740.71

  • = 0


这个计算显然是不对的,然后,我再对应检查左侧的两个单元格。这两个单元格分别引用了下面两个单元格:


  • =秋叶!J685

  • =秋叶!R685



到这里,第 1 个 SUM 函数的错误就排查完毕了,错误的原因指向了「秋叶」这个工作表。


我们继续往下排查。

循环引用排查


来到「秋叶」这个工作表里查看一下,依次排查这两个单元格。


R685 也是一个 SUM 函数,计算结果正常。


J685 这个单元格就不对了,和第 1 步出现了相同的问题。SUM 函数引用了一大堆的数据,计算结果也是 0。



  • =SUM(J101+J393+J426+J431+J478+J497+J535+J544+J576+J623+J656+J663+J684+J569+J587)


没办法,一个一个排查单元格吧。


逐个排查错误


一个很大的问题,「秋叶」这个表里的数据更多,有 600 多行,一个一个排查的话,要累死人。


怎么准确地排查 SUM 函数里对应的公式呢?


我想了一个好办法,把前面的 SUM 函数,拆分成单独的 TYPE 函数,判断每个单元格的值,是数字还是文本:


  • =TYPE(J101)

  • =type(J393)

  • =type(J426)

  • =type(J431)

  • =type(J478)

  • =type(J497)

  • =type(J535)

  • =type(J544)

  • =type(J576)

  • =type(J623)

  • =type(J656)

  • =type(J663)

  • =type(J684)

  • =type(J569)

  • =type(J587)


拆分的方法,也是费了一番周折,把公式粘贴到 Word 中,使用通配符完成替换,具体如下:



然后把公式,复制粘贴到 Excel 中,就可以检查单元格值,是文本还是数字了。



这样,我们很快的就找到了错误的单元格,错误指向 J426 单元格。



万人坑循环引用


再继续顺藤摸瓜,找到 J426 单元格,又是相同的问题,SUM 函数求和,有数据但是求和结果为 0。



这一次的情况,和前面第 1 步是一样的,是对连续的数据求和,所以排查方法,也是一样的。


在旁边增加一个辅助列,使用 SUM 函数+拉灯模式,排查是哪个单元格出了问题。



然后我们顺利的找到了错误的单元格 J414,再检查一下错误单元格里的公式。



罪魁祸首终于找到了,J414 里的公式又引用了自己,造成了循环引用,然后产生了连锁反应,所以和 J414 相关的计算,全部都出错了。


总结


今天的内容有点烧脑,罪魁祸首就是公式的循环引用。


在实际工作中,应当避免公式中的循环引用,在 Excel 中还有一个功能,可以一键检查循环引用↓↓↓


在【公式】选项卡中,点击【错误检查】-【循环引用】,就可以快速找到循环引用的单元格。



除此之外,我们还学习到了下面几种,排查 SUM 函数错误的方法:


❶ 分列功能,可以快速完成文本到数字的转换。

❷ 公式排查方法,使用拉灯模式,查找替换法,可以对单个单元格进行公式计算排查。

❸ 循环引用,要尽可能的避免循环引用的计算,一旦发现不了,随着公式嵌套的越来越多,排查类似错误的难度会越来越大。


好了,今天的内容就是这样,下课!


上面的技巧,哪个是你不会的呢?


如果你想和我实时交流 Excel 问题,可以参加《3 天 Excel 集训营》,上课方式是直播+录播,有名师带学、助教答疑。



秋叶 Excel 读者专享

官网价 99 

现在仅需 1 元

你也有可能成为 Excel 高手

点击下方小程序即可报名

👇👇👇

↑↑↑

现在报名免费获取

307 个函数清单

35 个常用函数说明

……


*广告


采购:一个SUM函数,浪费了我整整1个小时的评论 (共 条)

分享到微博请遵守国家法律