我确信过去我没有这个“问题”。假设我有3列:A,B和C.这些列有很多行数。 A列和B列在其单元格中手动输入数值数据。 C列中的每个单元格是左侧单元格和上面单元格的SUM。例如,C15将具有“= SUM(B15,C14)”。
我期望的是,当我右键单击一行并删除它(例如15)时,来自第16行及以后的数据将向上移动和“新”C15单元将保持公式“= SUM(B15,C14)”。然而,相反,所有C单元15和以下都破裂。 C15看起来像这样:“= SUM(B15,#REF!)”。
也许我正在失去理智,但我打赌一年的工资,在过去,删除一个上面和下面有一个公式的行不会破坏我删除的行下面的所有公式。
我没有使用OFFSET或类似的东西。我只记得Excel很聪明。我看过各种各样的互联网,包括SO,所有对类似问题的回答似乎暗示我都在失去理智。
如果有人可以提供帮助,那就太棒了。 谢谢你的时间。
答案 0 :(得分:2)
Excel从未像这样工作过。我也期待它,并且多次遇到这个问题。我能够应用的唯一解决方案是你建议的OFFSET。偏移仅变为相对于自身。如果删除一行,它仍将使用相同的偏移引用。显然,这会带来一系列全新的问题。样本比较两个单元格的值。一个就在它左边的单元格左侧。如果它们相同,则将X放置在单元格中。如果删除任何行(感知重复),则公式将调整,而不是#REF。 = IF(OFFSET(B2,0,-1)= OFFSET(B2,-1,-1),“X”,“”)其中B2是输入公式的单元格。
答案 1 :(得分:1)
而不是删除行,而是尝试这种“ Stomp the Row ”模式。 这在所有情况下都不起作用,但适用于每行仅引用其上方行或绝对引用其他地方引用的情况。
从底部开始的空白行可防止最后一行的重复,并且顶行会在您要删除的行的顶部踩踏。 可选地,如果出现混淆,请在滚动到各个位置时反复撤消和重做以检查您是否正确。
您也可以使用相同的技术删除多行,但请确保从底部包含足够的空白行,以防止在底部留下重复项。底部多余的空白没有伤害,所以我通常包括额外的。
希望有所帮助。 =]
答案 2 :(得分:0)
如果您希望删除的公式数量很少,另一种解决方案是只复制您希望不更改的公式文本。删除行,然后粘贴回公式文本。 (Excel由于重新定义了一些常见的键盘快捷键来进行导航,因此使此操作有些困难,但这很容易做到。)