web-dev-qa-db-ja.com

GoogleスプレッドシートのARRAYFORMULA内でAVERAGEを使用する方法

ARRAYFORMULAバージョンを使用したい

=AVERAGE(Linda!B3, Nandi!B3, David!B3, Remmelt!B3)

セルが他のタブ(Linda、Nandi、David、Remmelt)からそのセルのエントリの平均値を計算するようにします。すべてのセルに誰もが値を入力するわけではないという事実に対処する必要があるため、合計と除算だけでなくAVERAGEを使用する必要があります。

使ってみた

=ARRAYFORMULA(AVERAGE(Linda!B3:B, Nandi!B3:B, David!B3:B, Remmelt!B3:B))

しかし、それは、必要な4つのセルだけでなく、4つの列すべての平均です。

私が理解している限り、ARRAYFORMULAは配列型の入力を受け取り、それを多くのセルに表示します。そのため、問題はAVERAGE(または同様の)出力を配列にすることになります。

7
Linda Linsefors

パラメーターとして値の配列を取得し、単一の値を返すだけのAVERAGE、SUMなどの集計関数は、ARRAYFORMULAを使用して値の配列を返すことができません。

1つの代替方法は、算術演算子(+、-、/、*)を使用することです。

それを仮定することが理にかなっている場合

  • すべての範囲は同じサイズです
  • 非空白セルの間に空白セルはありません
  • 下部の空白セルは無視する必要があります

次の式を使用して平均を計算できます。

=ARRAY_CONSTRAIN(
   Linda!B3:B+Nandi!B3:B+David!B3:B+Remmelt!B3:B,
   1,
   COUNT(Linda!B3:B)
 )
 /
COUNT(Linda!B3:B)
3
Rubén