【问题标题】:Using Single Iteration Circular References in Excel在 Excel 中使用单次迭代循环引用
【发布时间】:2020-05-06 05:19:43
【问题描述】:

通过在“选项/公式”中设置“启用迭代计算”来启用 Excel 中的循环引用。 “最大迭代次数”值 1 可能是一个有趣的选择,但仍然存在问题。

在某些时候,我很想用值 =1-TOTALS 替换 COLUMN 中特定单元格 CELL 中的错误值,其中 TOTALS 是保存多张工作表结果的单元格,例如=SUM(COLUMN).

通常,我在一个结构中有 Excel (>2013) 工作表,其中所有列总和相同的数量,例如1000 个值使用来自不同数据集的数据完成 100%。假设您想通过不更改工作簿结构、调用宏或每次调用 Solver 来坚持使用循环引用。

当这种情况发生时,我总是以手动、乏味、重复的方式结束 CELL 的正确值。

问题

循环引用向链接的单元格添加一个常量,我没有找到一种明确的方法将任何值“绑定”到给定的常量引用(在这种情况下,很容易,最终总和应始终为 1 )。如果最大迭代次数为1,则计算正确,但第二次计算时,开始漂移。

问题

有没有办法在CELL 中使用循环引用 公式,允许循环引用 存在,从而启用迭代计算 Maximum Iteration 为 1,最重要的是,以某种方式将 100% 结果固定在列末尾,因此迭代不会漂移?

【问题讨论】:

  • 你不能把公式放在那个特定的单元格中吗?请记住,您希望该单元格的值是 1 减去该列 除了 特定单元格中所有内容的总和...所以理论上您不需要循环引用。
  • 有趣的问题。我想出了一个不是循环的实际公式(使用INDIRECT()ADDRESS(),但不幸的是,excel 认为它是循环的......

标签: excel circular-reference


【解决方案1】:

您不需要循环公式。

我将首先创建一个名称:LAST_ROW,然后用制作该工作表的 Excel 版本的相应编号(可能是 1048576)填写它。

然后你可以简单地使用一个公式。例如,对于单元格K10,它将是:

=1 - SUM(OFFSET(K10,1-ROW(),0,ROW()-1,1)) - SUM(OFFSET(K10, 1, 0, LAST_ROW-ROW(), 1))

解释:

SUM(OFFSET(<this cell>,1-ROW(),0,ROW()-1,1)) 给出此单元格上方所有内容的总和 SUM(OFFSET(<this cell>, 1, 0, LAST_ROW-ROW(), 1)) 给出了该单元格下方所有内容的总和。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多