名前のある列と有料の列がある場合、それは可能ですか。すなわち
ジョン$120 ジョン$100 サリー$90 サリー$100 サリー$80
JohnとSallyの両方の列2から値を抽出し、それらを平均して、結果を別の列の2つのセルに配置するにはどうすればよいですか?スプレッドシートコマンドを使用できますか、それともこれを自動的に行うためにVBAが必要ですか。
名前のある列と有料の列がある場合、それは可能ですか。すなわち
ジョン$120 ジョン$100 サリー$90 サリー$100 サリー$80
JohnとSallyの両方の列2から値を抽出し、それらを平均して、結果を別の列の2つのセルに配置するにはどうすればよいですか?スプレッドシートコマンドを使用できますか、それともこれを自動的に行うためにVBAが必要ですか。
あなたはどちらかを使うことができます
AVERAGEIFS
(xl07以降の場合)データが含まれている場合A2:B6
、この式はD1
(「John」をC1
含む)で機能します
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)
2007より前のバージョンのExcelでスプレッドシートを使用する必要がある場合は、次の式を使用することもできます。
=SUM(($D$1=$A$2:$A$6)*($B$2:$B$6)) / COUNTIF($A$2,$D$1)
これは配列数式であるため、Enterキーを押すだけでなく、CtrlキーとShiftキーを押しながらEnterキーを押す必要があります。
この式は、 brettdjの回答のサンプルテーブルで機能します。
これは、対応するA2:A6値がジョンであるB2:B6の値の合計を計算し、それをA2:A6のジョンの総数で割って平均を返すことによって機能します。
以下のように、コンマ(、)の代わりにセミコロン(;)を使用すると、完全に機能します。
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1) - it doesn't work,
=AVERAGEIFS($B$2:$B$6;$A$2:$A$6;D1) - it works!