次のAVERAGEIFS
があり、列Bの値でグループ化した列を平均しています。
_= AVERAGEIFS(B:B, A:A, A:A)
_
問題は、列BにNA()
エラーが含まれている場合があることです。これらを方程式から除外するにはどうすればよいですか?
フィルターをかけてみました
_= AVERAGEIFS(ARRAYFORMULA(IF(ISNUMBER(B:B),B:B)), A:A,A:A)
_
しかし、これは私にエラーを与えます。
サンプルデータは次のとおりです。
_* A * B *
| Fred | 8 |
| Bill | 9 |
| Jane | NA |
| Jane | 9 |
| Fred | NA |
| Bill | 5 |
| Fran | 9 |
| Fred | 4 |
| Jane | 1 |
_
私が欲しいのは、各行の隣に表示される列Cを追加することです。これは、NAを数えない人の平均です。
_* A * B * C *
| Fred | 8 | 6 |
| Bill | 9 | 7 |
| Jane | NA | |
| Jane | 9 | 5 |
| Fred | NA | |
| Bill | 5 | 7 |
| Fran | 9 | 9 |
| Fred | 4 | 6 |
| Jane | 1 | 5 |
_
空白部分については、そこで何が起こっているかはあまり気にしません。NA
sが気にしない平均に影響を与えない限り、エラーまたは空白になる可能性があります。
オプション1-IFNA()with Array
AVERAGEIFS
が実際に何をしているのかよくわかりませんが、これを修正するために必要なのは、IFNA()
を配列数式(入力時にCtrl + Shift + Enter
)と一緒に使用することだけです。式):
= AVERAGEIFS(IFNA(B:B,""), A:A, A:A)
これにより、処理しているデータのNA()
値が空白になります。
オプション2-データをクリーンアップする
これは通常私のオプション1ですが、あなたが要求したものではないことを認識しているので、2に降格しました...
明らかに、上記の式はNA()
を空白の値に置き換えるだけです。あるいは、最初にセルを空白として計算してみませんか?これにより、列の見栄えも良くなります。
ベースセルにある計算が何であれ、代わりに""
を返すようにNA()
オプションを変更するか、計算全体をIFNA([insert calculation here],"")
でラップします。