
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ランキング
-
エクセルのVBAで集計をしたい
-
【関数】同じ関数なのに、エラ...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【マクロ】元データと同じお客...
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】列を折りたたみ非表...
-
他のシートの検索
-
【条件付き書式】シートの中で...
-
ページが変なふうに切れる
-
【マクロ】オートフィルターの...
-
特定のセルだけ結果がおかしい...
-
エクセル ドロップダウンリスト...
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
9月17日でサービス終了らし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報