【问题标题】:Lock sumif to specific cell range将 sumif 锁定到特定单元格范围
【发布时间】:2017-10-31 15:58:22
【问题描述】:

我有一个电子表格,其中包含 A:D 列中的数据。每个数据块 A1:D11、A12:D22 等代表一天的数据。它有配置项,我执行 sumif 函数以提取自报告开始以来的总计(=SUMIF(A:A,L2,B:B)。现在我被要求仅汇总过去几周的数据.我目前的公式是(=SUMIF(A1:A55,L13,B:B)-非常简单。但是,我需要它锁定,以便我们只检查A1:A55之间的数据。如果我添加一个新的天块数据它更改对 (=SUMIF(A12:A66,L13,B:B) 的引用。如果我使用 $ 引用它会做同样的事情......我如何锁定公式以便它总是在 A1 之间查找: A55?

问候

【问题讨论】:

  • 也许INDIRECT("A1:A55") 是你所需要的。
  • =SUMIF($A$11:$A$55,L13,$B$11:$B$55)

标签: excel


【解决方案1】:

当您进行一些删除或插入时,excel会自动移动公式中使用的引用。例如如果B1中的原始公式是=SUM(A1:A20),则插入单元格A5并向下移动单元格后,公式将是=SUM(A1:A21)

为避免这种情况,您可以使用公式INDIRECT,它将返回由string 类型的参数决定的引用。由于是字符串,excel不会改变它的值,所以无论你插入还是删除,范围都是一样的。

那就试试吧=)

=SUMIF(INDIRECT("A1:A55"),L13,B:B)

【讨论】:

    【解决方案2】:

    作为替代建议,我会在您的表中创建另一列,使用 weeknum() 从日期计算周数,然后使用 sumif 查找特定周。

    这样你就完全不用担心行插入了。

    通过使用Indirect() 方法(这是一个很好的解决方案,可能是您解决问题所需要的全部),您仍然会遇到数据被插入到您的sumif() 覆盖的范围内的问题,可能不会成为您正在监控的一周的一部分(例如,如果将包含来自不同周的数据的行输入到 A55 中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      相关资源
      最近更新 更多