33

假设我有数据表

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)

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

4

3 回答 3

69

如果您不想对单元格地址进行硬编码,则可以使用该ROW()功能。

例如:=AVERAGE(INDIRECT("A" & ROW()), INDIRECT("C" & ROW()))

不过,它可能不是最好的方法!使用像@JaiGovindani 建议的自动填充和静态列会好得多。

于 2013-05-11T23:54:10.727 回答
36

要静态化一行或一列,请在其前面放置一个 $ 符号。因此,如果您要使用公式=AVERAGE($A1,$C1)并将其拖到整个工作表中,A 和 C 将保持静态,而 1 将更改为当前行

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

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

于 2013-05-11T20:36:10.353 回答
0

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

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

这允许Balance列在上面加上贷方减去借方。我希望有一个excel函数来做到这一点

于 2021-12-01T20:26:03.780 回答