【问题标题】:excel SUMIF not giving right answerexcel SUMIF没有给出正确答案
【发布时间】:2020-02-04 22:30:16
【问题描述】:

我有一个包含数据的表格,我正在尝试在另一张表格上执行以下操作。如果日期是特定日期,我正在尝试对列中项目的价格求和。我在第二张纸上使用 UNIQUE 过滤了所有日期,并根据这些值进行了 SUMIF。问题是,结果都略小于通过手动求和/突出显示相关单元格并在底部看到总和获得的实际值。为什么会这样?差异不能归因于它应该求和的任何单个单元格。

顺便说一句,有人知道为什么类似的问题框似乎在窃听吗?当我滚动时,原始文本会保持原位,就像某种幽灵效果一样。

编辑:这是问题的图片

【问题讨论】:

  • 请显示一些测试数据和您使用的公式,以便重现。见minimal reproducible example
  • 但是从听起来你可以使用数据透视表来做你想做的事
  • 不太确定如何做到这一点,因为如果我要将所有值复制到新工作表并使用相同的公式,则可以解决
  • 那么问题出在数据而不是公式上。我们无法在数据部分提供帮助。
  • 最好的猜测是你有一些数字作为字符串存储在总和范围内,它正在跳过这些。

标签: excel excel-formula


【解决方案1】:

这是我认为的解释。

来自文档:sum_range 参数不必与 range 参数具有相同的大小和形状。添加的实际单元格是通过使用 sum_range 参数中最左上角的单元格作为开始单元格来确定的,然后包括大小和形状与 range 参数相对应的单元格

你的公式:=SUMIF(F2:F31,"="&H2,G:G)

因此计算为=SUMIF(F2:F31,"="&H2,G1:G30)

由于范围内的偏移,range = H2 的最后一个实例被删除。还有34.86-33.67 = 1.19,这是应该添加的最后一个单元格。

换句话说,g1 是针对 f2 评估的,g13 是针对 f14 评估的。由于f14 不包含3/2/20201.19 不会被SUMIF 添加

有时这很有用。但是在这里,正如您所注意到的,它有一个不需要的结果。

它适用于您的第一种情况,因为 rangesum_range 都从同一行开始。

要使其在第二种情况下正常工作,您需要做的就是确保两个范围从同一行开始。

例如:=SUMIF(F2:F31,"="&H2,G2) 可以工作

【讨论】:

  • 感谢您的解释!您知道需要这样做的任何情况吗?
  • @inyrface 如果您的数据和标准都在同一行或列中(交替或使用常规模式),您可能会使用偏移量引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
  • 2019-10-28
  • 1970-01-01
相关资源
最近更新 更多