通过非迭代计算解决我的循环引用?

时间:2015-07-13 17:49:39

标签: excel circular-reference

更新 - 简化甚至更多:

万一人们不知所措,这是我问题的超级简单版本:

Excel Screenshot - Circular Reference Problem Simplified

请写下C,D和E列的公式,其中:

  • C栏
    • 如果B列为0,则如果A列为1,则输入1,否则为0。
    • 如果B列为1,则如果A列为1且E列为0,则输入1,否则为0.
  • D栏
    • 如果C列为1,则输入1,否则为0。
  • E栏
    • D栏的总和。

但是没有循环引用就这样做。

问题:

我刚刚在Excel工作表上创建了一个循环引用,我理解为什么它是循环的。当我转到圆形参考单元格,然后执行“公式”选项卡,“评估公式”按钮时,它似乎按预期进行评估。因此,我希望有人可以为我提出一个非迭代计算解决方案。

上下文

我正在努力解决因重复而被拒绝的医疗索赔。

我首先检查是否有其他声明似乎是重复的,然后,如果没有找到重复的声明,我会检查被拒绝的声明是否与自身重复。

Excel中:

Excel Screenshot - Circular Reference Problem

在这里,您可以看到两个声明的简化图像:

  • 列S具有索赔数据的标准(截图中),可以将每个索赔限定为副本。
  • 列AF,主要原因,检查列S(以及我为了说明而隐藏的其他类似分类列)是否为1.如果是,则表示1,否则为0.
  • 列AG计算列AF中有多少个。

现在,我更改了列S的公式,并且对于列R中具有0的行,它为列S,AF和AG生成循环引用警告。列S中的公式(使用S3作为示例)是:

=if(and(or($R3=0,$AG3=0),[the other claims data criteria that would mark the row as a duplicate]),1,0)

循环引用发生在Excel计算列R中为0的行时,到目前为止在列AG中为0,并且在列S中为1(但尚未计算,因为尚未计算) 。在这种情况下,$ R3 = 0和$ AG = 0在列S公式中评估为True,但是一旦评估结束并且列S标记为1,则列AF变为1并且列AG变为1,然后列S中的OR()从(True,True)变为(True,False)。这不会改变OR()的净结果,但它让Excel感到担忧。

重述问题:

考虑到所有这些,并假设迭代计算不是最佳解决方案(请告诉我,如果是),我该如何解决这个问题?我已经查看了几个SO Excel循环参考文章,并将继续查看。

编辑:对列AF的描述进行了更正,并说明了循环引用的原因。

2 个答案:

答案 0 :(得分:0)

在A2:B3中的所有4个单元格等于1的情况下,你有一个骗子的悖论。你在C列中的公式取决于A,B(两行中相同)以及C列的总和(这就是E所持有的)。因此 - 根据您自己的规则,C列中的两个值是相同的。如果该值为0,则E为0,因此该值为1。如果该值为1,则总和为2(不是1),因此该值毕竟为0。因此,当且仅当它们为1时,C中的值为0.除非A,B中的所有4个值不可能同时为1,否则您的规范集不一致。

答案 1 :(得分:0)

与我以前的自我回答相反,我的循环推理给出了不正确的答案,不应该使用。