在excel中,如何引用当前行但是特定列?

Jar*_*oke 24 excel excel-formula excel-2010

假设我有数据表

A  B  C  D
-----------
5  4  6  3
4  4  3  2
5  4  6  2
Run Code Online (Sandbox Code Playgroud)

我想做点什么

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)
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*ash 52

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

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

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

  • 这种技术为条件格式化提供了技巧.我有一个区域,其中包含一列复选框.如果勾选了相应的复选框,则该行上的任何其他值都将加粗.设置基于`= INDIRECT("AA"和ROW())`的条件格式,并为条件格式指定`Bold`. (4认同)
  • 如果您插入、移动和删除单元格并希望公式引用单元格_同一行左侧的两列_等而不是移动的单元格,则非常有用。 (2认同)

Jai*_*ani 31

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

如果您使用的是Windows,则可以在公式编辑栏中反复按F4来实现相同的功能.第一个F4印刷机将静止两个(它将A1转换为$ A $ 1),然后只是行(A $ 1)然后只是列($ A1)

虽然在技术上使用了您所拥有的公式,但是如果不在列前放置$符号,则向下拖动整个列应该不是问题.将列设置为静态仅在您拖动ACROSS列并希望继续使用相同列时才会起作用,并且将行设置为静态将用于向下拖动行但希望使用相同的行.