web-dev-qa-db-ja.com

Excelでは、特定の列ではなく現在の行を参照するにはどうすればよいですか?

私がデータシートを持っていたとしましょう

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)

したがって、基本的には、現在の行を使用し、特定の列を使用して平均値を求める数式を作成します。これを行う方法はありますか?特に、各列全体を自動で自動化するには(すべての列が同じ高さであると仮定します)?

24
Jared Joke

行または列を静的にするには、その前に$記号を付けます。したがって、式=AVERAGE($A1,$C1)を使用してシート全体にドラッグすると、AとCは静的なままで、1は現在の行に変更されます

Windowsを使用している場合は、数式編集バーでF4を繰り返し押すことで同じことを実現できます。最初のF4を押すと、両方が静的になり(A1が$ A $ 1に変わります)、行のみ(A $ 1)、列のみ($ A1)

技術的にはあなたが持っている数式ではありますが、列の前に$記号を置かずに列全体を下にドラッグしても問題はありません。列を静的として設定するのは、ACROSS列をドラッグして同じ列を使用し続けたい場合にのみ有効であり、行を静的として設定すると、行を下にドラッグするが同じ行を使用したい場合になります。

31
Jai Govindani

セルのアドレスをハードコーディングしたくない場合は、ROW()関数を使用できます。

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

それはおそらくそれを行うための最良の方法ではありません!自動入力と@JaiGovindaniのような静的列を使用すると、はるかに優れていることが示唆されます。

51
NickSlash