• 締切済み

Excel 指定したデータの平均値を出すには??

会社でExcel作業中なのですが、ど~してもわからず 大変困っています(>_<)どなたか助けて下さい! やりたいことは、下のようにデータが二つに分かれていて A番組の6:30~8:00の平均視聴率を出したいのですが、 視聴率が別データとして1分毎に出て来てしまっています。 これを、「A番組の平均視聴率=6:30-8:00の範囲を選択して平均を出す。 B番組の平均視聴率を出す、C番組平均視聴率…」 という計算式を作りたかったのですが、何千何万番組もあるものを 一つ一つ式を作るのはかなり大変でして…。 SUBTOTAL関数を使って何とかならないものかと思っているのですが 選択範囲の指定方法がわかりませんでした。。 どなたか教えて下さい!宜しくお願い致しますm(__)m 番組名 開始時間 終了時間 分数 平均視聴率 A番組  6:30     8:00   90    ? B番組  8:00     9:55   115    ? C番組  9:55     11:25   90    ? ・ ・ ・ -------------------------------------- 時刻  1分毎の視聴率 5:00 0.3 5:01 0.3 5:02 0.3 ・ ・ 23:59  7.9 0:00 4.2 ・ ・ 4:58 0 4:59 0

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#3です。すみません等号を直すの忘れてました。 =SUMPRODUCT((時刻の範囲>=開始時間)*(時刻の範囲<終了時間)*(1分毎の視聴率の範囲))/SUMPRODUCT((時刻の範囲>=開始時間)*(時刻の範囲<終了時間)) です。 「数値グループの平均を計算する」のヘルプ http://office.microsoft.com/ja-jp/excel/HP100704961041.aspx EXCEL2007の場合の別回答 =AVERAGEIFS(1分毎の視聴率の範囲,時刻の範囲,">="&開始時間,時刻の範囲,"<"&終了時間) 「AVERAGEIFS」のヘルプ http://office.microsoft.com/ja-jp/excel/HA100474931041.aspx

sakura0411
質問者

お礼

すごいです!天才!どうしてこんな数式を思いつかれるのでしょうか…。 その通りに式を入れて使わせて頂きましたが、この数式を理解しきれてません(^_^;)もっと勉強しなくては。。 本当にありがとうございました! 取り急ぎお礼まで☆

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。仮に番組表をsheet1、1分毎表をsheet2とします。 sheet1のE2セルに以下の数式を設定し、フィルハンドル(E2セル枠右下の■)をダブルクリック又はコピーして下さい。 =SUMPRODUCT((Sheet2!$A$2:$A$1442>=B2)*(Sheet2!$A$2:$A$1442<=C2)*(Sheet2!$B2:$B$1442))/SUMPRODUCT((Sheet2!$A$2:$A$1442>=B2)*(Sheet2!$A$2:$A$1442<=C2))

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=SUMPRODUCT((時刻の範囲>=開始時間)*(時刻の範囲>=終了時間)*(1分毎の視聴率の範囲))/SUMPRODUCT((時刻の範囲>=開始時間)*(時刻の範囲>=終了時間)) ただし時刻は下記のようにセットしてください。 05:00 ・ 23:59 24:00 (翌日00:00) ・ 28:59 (翌日04:59) セルの書式設定をユーザー定義で [hh]:mm とすればOKです。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2

次のような、オートフィルタを使った方法では、いかがでしょうか。 まず視聴率のデータから、時刻と視聴率が入力されているセルを選択して、  データ - フィルタ - オートフィルタ を選択します。  次に 視聴率が入力されているセルの隣(仮に B1 ~ B100 に入力されていると仮定すれば、C1 セル) に =SUBTOTAL(1,B1:B100) と入力します。  後は、オートフィルタのオプションで範囲指定(6:30以上~8:00以下のように)すれば、良いと思います。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

時刻 1分毎の視聴率 5:00 0.3 5:01 0.3 5:02 0.3 この表の隣のセルに、それぞれの時間やっていた番組名を表示させます。 Vlookup関数で、最初の番組名の表の並び方を変えたものを使用して作れると思います。 その後、表示させた番組名をキーにSUBTOTALを使ってください。

関連するQ&A