3

名前のある列と有料の列がある場合、それは可能ですか。すなわち

ジョン$120  
ジョン$100  
サリー$90  
サリー$100  
サリー$80

JohnとSallyの両方の列2から値を抽出し、それらを平均して、結果を別の列の2つのセルに配置するにはどうすればよいですか?スプレッドシートコマンドを使用できますか、それともこれを自動的に行うためにVBAが必要ですか。

4

3 に答える 3

3

あなたはどちらかを使うことができます

  1. AVERAGEIFS(xl07以降の場合)
  2. ピボットテーブルについては、 Debraのサイトを参照してください。

データが含まれている場合A2:B6、この式はD1(「John」をC1含む)で機能します
=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)

ここに画像の説明を入力してください

于 2012-10-31T05:26:13.910 に答える
0

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にあります
  • 「ジョン」はD1にいます
  • この式はE1(または実際にはどこでも)に入ります。

これは、対応するA2:A6値がジョンであるB2:B6の値の合計を計算し、それをA2:A6のジョンの総数で割って平均を返すことによって機能します。

于 2012-11-06T14:32:10.323 に答える
0

以下のように、コンマ(、)の代わりにセミコロン(;)を使用すると、完全に機能します。

=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!
于 2013-03-21T11:18:25.627 に答える