公式中的范围参考在一种情况下发生变化,但没有变化

问题描述 投票:0回答:1

当我们将第三行移动到任何其他行时,

3
A3:A
中的
B$3:B
不会改变,但是当我们将任何其他行移动到第三行位置时,或者插入新行(插入在第 2 行下方或在第 4 行上方插入)?
而且参考 A3 在任何情况下都不会改变。
(我所说的移动是指this

示例:Google Sheet(随意使用)

如果我将第三行移动到任何其他行位置,公式保持不变
例如:我将第三行移动到第四行位置,我得到:

公式保持不变,
但现在如果我将任意行移动到第三行,
例如:如果我将第 4 行移动到第 3 行位置,如下所示:

我明白了:

公式发生变化,类似地,如果我说将另外 2 行移动到第 4 行甚至第 3 个位置,那么 A4:A & B$4:B 的范围将变为 A6:A & B$6:B。如果您发现 A3 在所有情况下都保持不变。

我知道我可以通过使用来保持范围恒定:

INDIRECT(ADDRESS(3,COLUMN(A3),4)&":"&ADDRESS(ROWS(A:A),COLUMN(A3),4))
但这不是我的问题,我的问题是:

为什么在第一种情况下范围没有改变,但在第二种情况下改变了到底发生了什么?即使这就是为什么单元格引用 A3 没有改变?

google-sheets reference google-sheets-formula range
1个回答
0
投票

建议

在使用所提供的条件测试测试表后,以下是我对公式中显示的行为的想法:

  1. 首先,关于向下移动一行:这实际上不会影响前两个公式的总体范围,因为它们是在总体范围内移动的(A3:A 和 B$3:B)。至于单元格 C2 上的值引用单元格 A3 上的值,它跟踪的是单元格引用本身,而不是它最初引用的单元格中包含的值。

    例如,向下移动第三行意味着 C2 现在正在跟踪单元格 A4,这基本上是相同的值。 (请参阅下面的示例输出,显示上述行为)

  1. 至于向上移动行,通常这也不会影响整体范围除非移动在范围的一行内。在您的示例中,公式引用范围 A3:A,该范围从第三行开始。除了第四行之外,向上移动其他行应该不是问题,其中通过向上移动它,它会覆盖您也看到的范围的起点,因为它现在显示为 A4:A。

    通常,您只需将两行交换回去即可恢复此状态;或者,就像您所观察到的那样,继续向上移动下一个相邻行以“缩小”整体范围。

总之,行(或列)的移动会影响公式上的单元格引用,因为它跟踪引用的原始单元格,而不是该单元格中包含的值。因此,单元格 A3 上的值是否由于移动而发生变化并不重要,如果“原始”A3 单元格向上或向下移动,那么它的引用也会随之变化,这就是公式跟踪的内容。

© www.soinside.com 2019 - 2024. All rights reserved.