![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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ランキング
-
エクセルの関数について教えて...
-
Excelカスタム関数(アドイン登...
-
Excelデータをコピペして、ペー...
-
Excel関数-文字列で自動作成さ...
-
スプレッドシート、Excelでの数...
-
Excelで50個のセルに同じ文字を...
-
Microsoft Officeの中古は信用...
-
スプレッドシートで使う数式を...
-
エクセルVBA、別ブックへ転記す...
-
エクセルで会社の従業員のデー...
-
エクセルで不等号記号(≠)が上に...
-
エクセルの表で1年間の曜日を...
-
A列とB列を参照してC列に連番を...
-
エクセルの空欄をつめて、次の...
-
エクセルでの特別な文字を上に...
-
エクセルでセルに標準で入力さ...
-
エクセル日付 文字列の関数がエ...
-
エクセル2013で月間勤務表から...
-
エクセルの日付を編集する
-
EXCELの質問です 119から足した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報