• ベストアンサー

条件に一致するデータの平均 (AVERAGEIFS?)

Excel2007を使用しています。 条件に一致するデータの平均を取りたいと考えてます。 A B 1 1/9/2009 10 2 5/9/2009 15 3 20/9/2009 20 4 8/10/2009 18 Aは日付型、Bは数値型です。 Aが2009年9月の行のみBの平均値をとりたいので、 このケースだと、最初の3行が該当し結果は「15」になります。 以下のような関数を作ってみたのですが、公式エラーになってしまい、うまくいきません。 AVERAGEIFS(B1:B4,A1:A4,">=value("1/9/2009")",A1:A4,"<value("1/10/2009")") もっとキレイな方法も含めて、お分かりになる方、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

AVERAGEIFS(B1:B4,A1:A4,">=1/9/2009",A1:A4,"<1/10/2009") value要るかな? 手元に2003しかないけど =COUNTIF(B3:B15,"<2009/10/3") で正しく動いたよ。

seiiiichi
質問者

お礼

回答ありがとうございました。 うまくいきました。 最初valueなしでやって、だめだったので、必要かな?って思って追加していました。 最初のは何がだめだったかわからないですが、とりあえずうまくいってよかったです。 ありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えば次のような式でよいでしょう。 =SUMPRODUCT((YEAR(A1:A100)=2009)*(MONTH(A1:A100)=9)*(B1:B100))/SUMPRODUCT((YEAR(A1:A100)=2009)*(MONTH(A1:A100)=9))

seiiiichi
質問者

お礼

とりあえず、うまくいきました。 ただ、ちょっと私には難しいいです。。 回答ありがとうございました。

関連するQ&A

  • Excelの条件一致の平均の求め方。

    画像のような表があります。 B2とC2のセルと一致すると条件が一致した行が、条件付書式で色分けされるようになっています。 そこで、B2、C2と条件が一致している行だけの値段平均をE2に表示したいのですが、何か良い方法はないでしょうか。

  • [関数] 行列でそれぞれ条件を指定し平均を算出する

    こちらの識者の方々にはいつもお世話になっています。 関数の質問です。 タイトルが分かりづらくて申し訳ありませんが、詳細は下記ご参照ください。 環境は下記になります。 OS=windows7 pro 64bit Office=Excel2010(14.0.7128.5000) ■やりたいこと 下図のA1:H9のようなリストがあり、下記条件でB2:C9の範囲の平均を出したいのです。 ・A列が0以外 ・1行目が0以外 ・作業列(行)は作らない ・関数で実現する excel2007から追加されたAVERAGEIFS関数が使えるかと思ったのですが、平均対象範囲は単列(もしくは単行)しか指定できないようです。 この場合、どのような関数が適していますでしょうか? 質問に不備不足等ございましたらご指摘ください。 ご面倒お掛けしますがよろしくお願いします。

  • 【Excel】日付を条件のひとつに指定してデータ集計

    Excel2003を使用しています。 Sheet1   A    B         C 1 4/1  (株)Excel    \100 2 4/1  ACCESS    \300 3 4/1  Excel(株)    \200 4 4/2  Word       \150 5 4/2  Excel       \100 6 4/3  ACCESS(有)  \200 7 4/3  Excel       \100 7 4/3  (有)ACCESS  \100 が入力されている表があります。 Sheet2に   A    B    C 1 4/2  合計値 個数 2 4/3  合計値 個数 Sheet2のA1セルに日付(仮に4/2とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にExcelとします)を検索し、両条件に一致したC列の合計を Sheet2のB1セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 又、上記同様で Sheet2のA1セルに日付(仮に4/3とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にACCESSとします)を検索し、両条件に一致した個数を Sheet2のC2セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

  • エクセルでの複数条件での平均値算出

    お世話になっております。 エクセルで、複数条件に一致した場合のみの平均値を算出する関数が判らずに困っております。 数値の他に「○」「×」「担当」「管理」「その他」とあり、どの様な関数を組めば良いのか、さっぱり判りません。 例としては次のとおりです。  A    B   C     D    1該  点数  A君  B君 2○  3.5   担当  管理 3○  3.9   担当  その他 4×  4.2   管理  担当 5○  4.1   管理  その他 6×  3.9   その他 担当 7        △     □ 上記の表があったします。 条件1:A列の該当が「○」 条件2:C列が「担当」もしくは「管理」 条件1と2を同時に満たした場合のみ、B列の点数を平均する 個々の平均を算出する式はC7(△)・D7(□)のセルでのみ処理を行う 上記なのですが、式が長くなっても構いません。 どなたかお判りになる方、なんとか教えて頂けませんでしょうか。

  • Excel2003、配列から、複数の条件一致する行のデータを取り出す方

    Excel2003、配列から、複数の条件一致する行のデータを取り出す方法 配列は最大で10行、10列程度ですが、このデータはリアルタイム(0.5秒間隔)で更新されますので、 分類等はできません。 A列のデータがZ1のセルのデータと一致し、かつ、B列は、特定の”文字列”と一致し、かつ、C列は数量で、0より大きい(負のデータは無いが、""はあり得る)という条件に合致した行があったら、その行のD列の値をZ2のセルに格納したい。 条件に合致する行は複数あり得るが、そのときは最初に条件が合致した行のデータが必要。 いくつかの関数を調べましたが、つまづいています。

  • AVERAGEIFS関数について

    どなたか、お尋ねいたします。 AVERAGEIFS関数でA1~E1のセルに示した数値 A1  B1    C1  D1  E1 9  20   21  22  31 二つの条件 10以下、30以上の数値を除く平均値 20、21、22   答え21.0 ただし、10と30は別の計算式から求めた値とします。 実際は20程の数値から以下、以上を除いた平均値を計算したいと思っています。 AVERAGEIFSで計算式の書き方を教えていただけませんか。 他の方法でも可能なら結構ですので、よろしくお願いします。

  • Excelで2つの条件が一致したデータの抽出

    Excelで2つの条件が一致したデータの抽出 こんにちわ。 タイトルの通り、Excelで2つの条件が一致したデータの抽出作業を行っています。 Sheet1にデータがあり、以下のような構成なっています。 A列    B列    C列 日付   社員名   売上金 6月1日 鈴木     3万円 6月1日 今井     2万円 6月2日 川口     10万円 6月3日 鈴木     4万円 6月3日 野口     1万円 6月4日 鈴木     3万円 6月7日 佐藤     6万円 6月7日 今井     2万円 6月7日 黒木     7万円 6月9日 野口     3万円 A列の日付は不連続かつ同一日付のものもあります。 Sheet2に以下のフォーマットを作成してあります。 1行目:B1セルから連続する日付(6/1~6/30まで) A列:A2から社員名(社員名は各セルに固定) 6月1日 6月2日 6月3日 6月4日 6月5日 ・・・ 鈴木 佐藤 今井 川口 野口 黒木 Sheet2のセルに、Sheet1の表の日付と社員名が一致した売上金のデータを反映させたいのです。 そこで例えばSheet2のB2セルには以下の関数を入れました。 B2=IF(ISNA(MATCH($A$2:$A$9&$B$1:$N$1,INDEX(Sheet1!$C$2:$C$24&Sheet1!$A$2:$A$24,))),"",INDEX(Sheet1!$D$2:$D$24,MATCH($A$2:$A$9&$B$1:$N$1,INDEX(Sheet1!$C$2:$C$24&Sheet1!$A$2:$A$24,),0))) この関数を入れると、該当するところには売上金のデータが反映されるものの、それ以外のセルには全て#N/Aが表示されてしまいます。 この#N/Aを表示させないようにするには、関数をどのようにすればいいのでしょうか? エクセル初心者なので、分かりやすくご教授願えたら…と思います。 よろしくお願いいたします。 使用OS:XP  使用ソフト:Office2000 Pro.

  • Excel日付の部分一致(年月が一致)検索する関数について教えてくださ

    Excel日付の部分一致(年月が一致)検索する関数について教えてください。 A列に日付データがあります。 A列が2010年3月だったら、B列に、1003 2010年4月だったら、1004、以下末尾を+1を反映させる関数を教えてください。 A列         B列 2010/3/6 10:23:19  1003 2010/5/6 9:23:19  1005

  • 平均値を出すVBAを教えて下さい!

    平均値を出すVBAを教えてください!! 下記の関数をCA2に入れて下に引っ張って使っているのですが、 データ量が多すぎて砂時計状態のまま動きません!! データはA列~BVまでで50万行位あります。 一番上は見出しです。 VBAで関数を使わないで平均値を出す方法を教えてください!! C列に日付が記入されており、シート11のセルで期間を以上と以下で設定しています。 答えが一緒であればどんな方法でも構いません。 ぜひよろしくお願いします。 =AVERAGEIFS(AC:AC,A:A,A10,C:C,Sheet11!$A$1,C:C,Sheet11!$B$1,AB:AB,2)

  • 一致する数値

    A列に数値が300行ぐらい入っています。 また、B列には3000行ぐらい数値が入力されています。 B列のなかのどの数値が、A列の数値と一致しているのか調べたいのですが、どのような方法がありますでしょうか? 一致しているものの数ではなく、位置を知りたいです。 (例・・A200がB1835と一致) 一致している部分を赤字にしたいと思います。

専門家に質問してみよう