A B C D
1 1 2 1 {=AVERAGE(IF($A$1:$A$4=$C1,B$1:B$4))}
2 1 4 2 {=AVERAGE(IF($A$1:$A$4=$C2,B$1:B$4))}
3 2 6
4 2 8
上記のような数値、数式ですと、
B列すべてに数値が入力されているため、問題なく計算するのですが、
例えば、B2のセルを空欄にすると、空欄を0としてしまい、
D1の計算結果が1となってしまいます。
D1の数式を=AVERAGE(B1:B2)としますと、空欄は空欄として扱い、
計算結果は2となります。
配列数式を使った場合にも、空欄を空欄として扱い、
計算結果が2となるような方法はありませんでしょうか。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
#1です。
IFをネストにしないでも{=AVERAGE(IF(($A$1:$A$4=$C1)*(B$1:B$4<>""),B$1:B$4))}
または
{=AVERAGE(IF(($A$1:$A$4=$C1)*ISNUMBER(B$1:B$4),B$1:B$4))}
でB列の空白を除去できます。
No.4
- 回答日時:
こんばんは。
あえて配列数式にすることもないのでは?
実務では、配列数式でなければ解けないもの(そういう場合はVBAでも難しいことがある)の時にだけ、配列数式を使うようにしたほうがよいと思います。
=SUMIF($A$1:$A$4,C1,$B$1:$B$4)/COUNTIF($A$1:$A$4,C1)
この回答への補足
試してみましたが、教えていただいた数式では、
B2が空欄の時に「0」として計算してしまい、
D1の計算結果が「1」になってしまいました。
回答ありがとうございます。
おっしゃるとおり、無理して配列数式を使うこともないのですが…。
この方法も試させていただきます。
数式的にもすっきりした感じです。
No.2
- 回答日時:
一例です。
{=AVERAGE(IF($A$1:$A$4=$C1,IF($B$1:$B$4>0,$B$1:$B$4)))}
又は、
=SUMPRODUCT(($A$1:$A$4=C1)*($B$1:$B$4))/SUMPRODUCT(($A$1:$A$4=C1)*($B$1:$B$4>0))
この回答への補足
この数式ですと、B列が「0」だった場合も計算してくれなくなります。
「0」と空欄を区別したいという趣旨が
全く伝わらないような質問文でした。
すみませんでした。
解決しました!ありがとうございます。
どちらの方法も確認しました。
今回は配列数式を使ってみたいので、上の式でやりたいと思います。
本当にありがとうございました。
なぜそうなるかは、落ち着いてからしっかり考えたいと思います。
No.1
- 回答日時:
その数式だと結果は3ではないのですか?
式の後半がB$1:B$4でなくA$1:A$4になってませんか?
補足を間違えていました。
少々焦っております。
A B C D
1 1 2 1 {=AVERAGE(IF($A$1:$A$4=$C1,B$1:B$4))}
2 1 "" 2 {=AVERAGE(IF($A$1:$A$4=$C2,B$1:B$4))}
3 2 6
4 2 8
この時のD1の結果を「2」になるようにしたいんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式について教えて下さい。 8 2023/05/27 12:17
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- 統計学 統計学の問題です よろしくお願いします 回帰直線 次のデータから集計表を作成し,以下の問いに答えよ。 2 2023/01/31 23:36
- 統計学 統計学の問題です よろしくお願いします 回帰直線 次のデータから集計表を作成し,以下の問いに答えよ。 1 2023/01/31 18:55
- Excel(エクセル) 関数を教えてください 2 2022/12/29 21:01
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) エクセルで最初に値が入っているセルを見つける方法はありますか? 2 2023/07/18 14:58
- その他(Microsoft Office) IF関数について教えてください 2 2022/05/10 13:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelのセルを飛ばして入力する
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excel 2019 のピボットテーブル...
-
エクセルの行の抽出について質...
-
【マクロ】エクセルにかいてあ...
-
スプレッドシート クエリ関数 1...
-
エクセルでセルに「氏名を入力...
-
MOS365 Excel Expert / Excel R...
-
excelの不要な行の削除ができな...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシートの関数VLOOKUP...
-
Excelで全角を半角にしたいので...
-
Excel初心者です。 詳しい方、...
-
エクセルの数式で教えてください。
-
4つのパターンを表示するEXACT...
-
スマートな関数を教えて下さい。
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報