excel表格为什么不能自动求和
在日常工作中,经常会从系统中导出一些表格,但这些系统表格往往是文本格式,用求和公式得出结果为0,如下图所示,这种情况,我们该怎么处理呢?第一步,我们选中要求和的列,点击【数据】,点击【分列】。第二步,...
2024.11.18今天我们来认识一个比较奇怪的问题。
表格中输入公式得到了正确结果,但随着公式下拉填充,却突然发现公式的结果为0,无法再输出正确的结果。
如下图所示,图中公式为:
=INDEX(出入库明细表!$C$2:$C$1000,MATCH(0,IF({1},COUNTIF(B$2:B362,出入库明细表!$C$2:$C$1000)),))&""
这是一个典型的index+match函数组合,常用于引用某一列或区域中指定位置的值。
这个公式嵌套了if和countif函数,它们可能是造成公式结果出错的缘由,但经过检查,以及前面已输出的公式结果,发现公式结构和写法并不存在错误情况。
这时作者在表格右下角发现一段文本,“正在计算(20个线程)45%”。
这意味着表格正在执行计算,由于线程较多,执行计算的时间也比较长。
那么excel总是在出现“正在计算”与这个index公式结果离奇出错有着什么联系吗?
我们来看一个示例,重新点击上方任意一个公式结果,再次向下拖动来填充公式,却发现结果变了,变成了复制首个单元格的内容。
那是不是公式引用的结果就是相同的呢?
当然不是,因此从这个组合公式的含义来看,它就是跳过重复值来引用一列中的数据。
我们点击编辑公式栏,选择match函数表达式按下F9执行公式结果预览,可见它的结果值是467。
作为index函数的第2参数偏移行,即表示查找C列中第467行的数据。
我们点击引用表的C列第468行,因为是从C2单元格开始,所以向下再偏移一行,为468行,可见其数据为“手动钻头”,这与公式输出的结果不同!
这时公式输出的结果与引用的值不一致,而且还不是公式表达错误,那么到底哪里出了问题?
在日常工作中,大家使用公式的频率很高,但对公式计算规则可能没有特别了解。
从公式就可以看出,这是一个循环引用的函数公式。
因为在B363单元格中执行的公式,当中的countif函数的第1参数“B$2:B362”,是以上一个单元格至首个单元格作为计数区域,而上一个单元格的结果又是以上上一个单元格至首个单元格作为计数区域,则意味每个公式更新的结果都是跟随上一个公式甚至上面所有公式结果进行更新的!
在这种循环引用情境下,excel需要执行的计算量将是巨大的,如果将B363单元格中的公式参数设置为“B$2:B363”,即引用公式所在的单元格,则属于迭代计算,默认情况下,需要手动开启迭代计算系统才会执行运算。
但迭代计算,与循环引用一样,都会占用excel非常大的算力,因此在输入公式时,要切记避免使用循环引用,否则就容易出现如上面所讲的“单元格总是正在计算”!
所以到这里,应该可以想到,index公式结果出错的原因不是来自于公式的写法错误,而是系统算力无法提供公式结果的即时更新,而产生结果为0或复制首个单元格的内容。
在日常工作中,经常会从系统中导出一些表格,但这些系统表格往往是文本格式,用求和公式得出结果为0,如下图所示,这种情况,我们该怎么处理呢?第一步,我们选中要求和的列,点击【数据】,点击【分列】。第二步,...
2024.11.18今天跟大家分享一下如何快速将Excel表格保存为PDF格式1.打开Excel2.录入要创建的文件夹名称3.然后录入要创建文件夹的地址4.接着我们将这两列数据合并并选中单元格区域5.然后点击下图选项(E...
2024.11.19在Excel单元格中输入公式,按Enter键后,单元格中显示的是公式的结果。但有时出于审核公式等的需要,我们希望单元格中显示的是公式。本文就介绍显示工作表中公式的三种方法。1、显示公式命令单击【公式】...
2024.11.21无论是商务领域的数据分析,还是教育领域的学术研究,excel文档扮演着重要的角色。然而,当我们需要与来自不同语言背景的合作伙伴共享和协作处理excel文档时,语言障碍可能成为一大挑战。好在现代技术提供...
2024.11.21我们来看看这张表格:假如需要按照小组进行降序排序,通过单击“数据”选项卡中的“降序”按钮,得到的结果是这样的:这样的排序与我们想要的降序排列完全不符,为什么会这样呢?这是由于该列是文本型数据,在排序时...
2024.11.18