在 Excel 中创建公式的可靠方法

use*_*226 4 worksheet-function microsoft-excel

为了简化问题,假设我有一个 Excel 工作表,它在单元格 A1 到 B100(两列乘 100 行)中具有不同的数值。在 C 列中,我想要一个公式,可以将同一行的 A 和 B 中的数字相乘。

我用来编写公式的旧方法是购买输入 C1 =A1*B1,然后将公式复制到 C100。这很有效,但不是很健壮,因为如果有人在 A 或 B 列中的单元格周围移动,那么公式将跟踪新位置并将事情搞砸。

然后有人向我展示了一个技巧,使这个公式可以更加健壮。我需要在 C1 中输入=A:A*B:B有效地查看同一行中的值的公式,因此当 A 列和 B 列中的值移动时将继续按预期工作。

让我们假设我现在想在 D 列中创建一个新的计算值(例如,A 中同一行的值 + 前一行 A 列中的值),这样 D1 中的公式为=A1。D2 中的公式是=A1+A2,然后这个公式将被复制到 D 列中。这不是那么健壮,是否有更健壮的方法来做到这一点,以便它不受源单元格移动的影响(就像我的第一个例子)。

提前谢谢了

Pet*_*ert 6

您最好的选择是使用命名范围:命名范围可以相对于输入的单元格。例如,如果您选择单元格A2并插入一个名称 _CellAbove with the formula=A1 (without the$` 会自动插入!),您可以在任何单元格中使用CellAbove来引用带有公式的单元格上方的单元格。

因此,对于您的示例,选择单元格D2并插入两个名称(使用名称管理器): * ColA : =$A2 * ColA_above=$A1

然后将其=ColA+ColA_above用作公式D2并将其复制下来。(=ColA在 中使用D1)。

这将始终为您返回正确的结果 - 并且是非易失性的,这在大型计算中非常方便!

附加说明:对于您的第一个乘法示例,我建议您将数据简单地转换为 Excel 表格(插入选项卡 ->表格。然后,而不是列Aand B,您将拥有列,例如Priceand Quantity- 而不是=A1*B1您将=[@Price]*[@Quantity]当你输入公式时结束(和往常一样,即Excel会放置这些名称,不用担心)。现在即使你改变表格结构,公式也会起作用!


chr*_*sen 1

尝试这个

=INDIRECT("RC1",0)+INDIRECT("R[-1]C1",0)
Run Code Online (Sandbox Code Playgroud)

请注意,这有一个不稳定的缺点