在Excel中如何引用当前行而不是特定列?

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

假设我有数据表

A  B  C  D
-----------
5  4  6  3
4  4  3  2
5  4  6  2

我想做一些类似的事情

A  B  C  D  E                  F
----------------------------------------------
5  4  6  3  =AVERAGE(A1,C1)    =AVERAGE(B1,D1)
4  4  3  2  =AVERAGE(A2,C2)    =AVERAGE(B2,D2)
5  4  6  2  =AVERAGE(A3,C3)    =AVERAGE(B3,D3)

所以基本上我想创建一个使用当前行但特定列来查找平均值的公式。有没有办法做到这一点?特别是要自动将其向下移动到整个每列(假设所有列的高度相同)?

excel excel-formula excel-2010
3个回答
82
投票

如果您不想对单元格地址进行硬编码,可以使用

ROW()
函数。

例如:

=AVERAGE(INDIRECT("A" & ROW()), INDIRECT("C" & ROW()))

但这可能不是最好的方法!使用自动填充和静态列(如@JaiGovindani)建议会好得多。


37
投票

要静态化行或列,请在其前面放置 $ 符号。因此,如果您要使用公式

=AVERAGE($A1,$C1)
并将其拖到整个工作表中,A 和 C 将保持静态,而 1 将更改为当前行

如果您使用的是 Windows,则可以通过在公式编辑栏中重复按 F4 来实现相同的效果。第一次按 F4 将使两者都静态(它将 A1 变成 $A$1),然后仅行 (A$1),然后仅列 ($A1)

尽管从技术上讲,使用您拥有的公式,如果不在列前面放置 $ 符号,则向下拖动整个列应该不成问题。仅当您拖动跨列并希望继续使用同一列时,将列设置为静态才会起作用,而将行设置为静态将用于向下拖动行但想要使用同一行。


0
投票

OFFSET()
。我的问题是克服行插入。 我做了以下事情:

=OFFSET(E774,-1,0)+OFFSET(E774,0,-1)-OFFSET(E774,0,-2)

这允许上面的

Balance
栏加上贷方减去借方。我希望有一个 Excel 函数可以做到这一点

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