Excel: 行に対して、条件が満たされた場合、平均を計算するために使用します

Excel: 行に対して、条件が満たされた場合、平均を計算するために使用します

比較的簡単に解決できると思われる問題があります。

条件を満たすセルを含む行のみ、セル範囲の平均を計算したいです。

次のデータを取得します。

    A       B        C
1 | YEAR |  VARA  |  VARB  |
  --------------------------
2 | 1990 |  1     |  6     |
3 | 1991 |  5     |  5     |
4 | 1990 |  2     |  6     |
5 | 1990 |  1     |  8     |
6 | 1991 |  2     |  2     |
7 | 1991 |  3     |  1     |

各年について、VARA と VARB の平均を返します。

結果は次のようになります。

  • 1990年: VARA = 1.33; VARB = 6.66
  • 1991年: VARA = 3.33; VARB = 2.66

私の理解では、Excel には反復処理とそれに続く IF ステートメントを可能にする FOR コマンドはありません... これを実現する方法をご存知の方はいらっしゃいますか?

ありがとう!

答え1

VARA の場合は、次の式を使用してみてください。=AVERAGEIF($A$2:$A$7,E2,$B$2:$B$7) ここに画像の説明を入力してください

VARB の場合は、次の式を使用してみてください。=AVERAGEIF($A$2:$A$7,E2,$C$2:$C$7) ここに画像の説明を入力してください

答え2

この配列 (CSE) 式は問題を解決します。

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

  • セル内の数式H217:

    {=ROUND(AVERAGE(IF(COUNTIF($G217:$G217,$G$209:$G$214),H$209:H$214,"")),2)}

  • フォーミュラを仕上げるCtrl+Shift+Enter& 横に塗りつぶします。

必要に応じて数式内のセル参照を調整します。

関連情報