
みなさん教えてください。
タイトルでは上手く書けなかったのですがExcelで下のようなデータがあります。
1,みかん,I,I,I,II,II,II,III,III,III,III
商品コード,231,3,3,5,6,3,4,1,7,2,9
この様なデータが1万件程度あります。
このデータを基に平均を求めたいのですがその条件が上段のセルに”I”が入っている下段の平均値(この場合は3,3,5の平均値)、次に上段に”I”と”II”が入っている下段の平均値(この場合は3,3,5,6,3,4の平均値)、最後に上段”I”と”II”、”III”が入っている下段の平均値(この場合は3,3,5,6,3,4,1,7,2,9の平均値)です。
商品名の後ろのI~IIIは商品によってデータ数が変動します。
上段に”I”のみ入っているデータの平均値は
=averageif(C3:L3,"I",C4:L4)で出来ましたが、同一行に複数条件を入れる場合
=averageifs(C4:L4,C3:L3,"I",C3:L3,"II")ですると#DIV/0!が返されました。
どのように関数を入れたらよろしいのでしょうか?
よろしくお願いします。
PCはwindowsXP、Excelは2010を使用しています。
No.1ベストアンサー
- 回答日時:
『I「または」II』のような重ねは,AVERAGEIFS関数では計算できませんので,次のようにする必要があります。
=SUMPRODUCT(SUMIF(C3:L3,{"I","II"},C4:L4))/SUMPRODUCT(COUNTIF(C3:L3,{"I","II"}))
=SUMPRODUCT(SUMIF(C3:L3,{"I","II","III"},C4:L4))/SUMPRODUCT(COUNTIF(C3:L3,{"I","II","III"}))
#敢えて言うと
「IまたはIIまたはIII」は「全て」と読み替えてAVERAGE(C4:L4)で計算する事は可能です
「IまたはII」は「IIIではない」と読み替えて,=AVERAGEIF(C3:L3,"<>III",C4:L4)と計算する事は可能です。
keithin様
ありがとうございます。
やはり1個の関数で済ますことはできないのですね。
分かりやすい説明、考え方ありがとうございました。
No.3
- 回答日時:
例えばC3セルから右横セルにI、IIなどが有り、その下の行に数値が有るとして
C5セルからE5セルにかけてIのみの平均、IとIIの平均、IIとIIIの平均を表示させるとしたらC5セルには次の式を入力してE5セルまでドラッグコピーします。
=IF(COLUMN(A1)=1,AVERAGE(INDEX($C4:$X4,1):INDEX($C4:$X4,COUNTIF($C3:$X3,"I"))),IF(COLUMN(A1)=2,AVERAGE(INDEX($C4:$X4,1):INDEX($C4:$X4,COUNTIF($C3:$X3,"I")+COUNTIF($C3:$X3,"II"))),AVERAGE(INDEX($C$4:$X4,COUNTIF($C3:$X3,"I")+1):INDEX($C$4:$X$4,COUNTIF($C$3:$X$3,"I")+COUNTIF($C3:$X3,"II")+COUNTIF($C3:$X3,"III")))))
数値が小数点以下に多くなる場合には小数点以下の表示桁数を減らす操作をすればよいでしょう。
No.2
- 回答日時:
AVERAGEIFSの検索条件はandです。
つまり、貴方の式↓
=averageifs(C4:L4,C3:L3,"I",C3:L3,"II")
は、上段が「I」「II」両方の条件を満たす場合の平均を出そうとしているので、該当なしとなり#DIV/0! を返しています。
これを回避する方法として2案提示ます。お好きな方をどうぞ。
「III」以外の平均を出す。
=AVERAGEIFS(C4:L4,C3:L3,"<>III")
配列数式を使う。↓Ctrl+Shft+Enterで確定する事。
=AVERAGE(IF(ISNUMBER(MATCH(C3:L3,{"I","II"},0)),C4:L4))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
エクセルからメールを作れるか...
-
Office2021を別のPCにインスト...
-
Office 2021 Professional Plus...
-
マイクロソフト オフィスのサポ...
-
エクセル 日付順に並べてかえた...
-
Office2024インストール後の疑問点
-
エクセルで質問です。 ハイパー...
-
MSオフィス2013にMS365が上書き...
-
Microsoft 365 の支払いが反映...
-
Microsoft365について
-
データの文字コードを確認するには
-
Microsoft Office Homeインスト...
-
Excelで〇のついたものを抽出し...
-
会社のOutlookにてメールを予約...
-
Microsoft 365 の一般法人向け...
-
Windows 11で、IME言語バー(IM...
-
【Excel VBA】PDFを作成して,...
-
excel2010の更新プログラムにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
office2019 のoutlookは2025年1...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
Teams内でショートカットって貼...
おすすめ情報