1

我想在公式中使用当前单元格值。假设我有单元格 A1,如果此单元格不是空白,则执行一些操作,否则该值应保持:

=IF(ISBLANK(A1), sg, A1)

但是,这会导致错误:circular reference detected. 我怎样才能避免这种情况?

4

1 回答 1

0

公式“=IF(ISBLANK(A1), sg, A1)” 遵循这种格式 =IF(test, test is true_value, test is false_value),所以在您的情况下,如果单元格 A1 为空白(即包含空字符串“” ) 您的测试结果为 TRUE,您的公式将返回 (sg)。

如果您的公式包含在单元格 A1 中,将始终生成“错误:检测到循环依赖”,这会导致无法解决的无限循环,您测试的表达式依赖于测试生成的值。如果单元格 A1 引用包含您的公式的单元格,您还将得到“错误:检测到循环依赖”生成。此外,单元格 A1 不能为空白并包含您的公式,这种情况是互斥的。

如果返回 (sg),则您的公式假定 (sg) 是对标记为 sg 的命名范围中包含的第一个值的引用,如果 (sg) 是您希望在 A1 为空白的情况下出现在公式单元格中的文本字符串,则它需要用引号括起来,即 =IF(ISBLANK(A1), "sg", A1)。

您可以将您的测试放在您的“其他一些操作”中的一个单元格中,该单元格不被您的“其他一些操作”生成的值引用或依赖

假设单元格 Z50 在单元格 A1 的值所依赖的引用和依赖项之外,并且它包含您的“其他一些操作”之一

单元格 Z50 公式...... =IF(A1="","",ROUNDDOWN(A1, 1)

单元格 A1 值......空白或“”............15.2576536...... ......................106.93244

单元格 Z50 结果............真,输出 =.......假,输出 = 15.2...... ....假,输出=106.9

于 2012-12-01T13:54:18.200 回答