• 締切済み

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% (7418/18948)
回答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% (7418/18948)
回答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

  • EXCEL 平均

    約6万点の時系列のデータがあります。 これを1/10の6千点のデータにしグラフ表示したいと考えています。 つまり10点分のデータを平均し1つのデータに置き換える。 A1-A10 の平均を B1 にし、A11-A20 の平均を B2 にする。・・・ といった具合です。 やはりプログラム作成が早道なのでしょうか?

  • 有効データ数の平均を求めたい

    お願いします。 エクセルで、有効データ数の平均を求めるにはどうしたらよいでしょか? セルA1=2 B1=3 C1=1 ・・・・j1=5 と10個のデータが横に並んでます。K1にはA1からj1までの数字の和の平均を取りたいのですが、d1からj1までは数字は入ってません。現在A1B1C1の三個のみデータが入ってます。この時、K1の平均は三個の平均となればよいのですが、=(sum=(A1:j1))/10 とすると良くないですね。 現在何個のデータが入っているのか、そのデータ数の平均を求められる方法はありますか? お願いします。

  • 条件を付けて平均を求めたい!(Excel)

    列   A      B         C    商品名    ランク       金額    1みかん    A        1000 行 2みかん    C         300    3みかん    B         600    4みかん    C            5             合計 1900    6             平均A    7             平均B    8             平均C 説明をする為に適当に作ったので、何故こんな物の平均を?と思うかもしれませんが、そこはあまり気にせずご回答頂ければ幸いです。 例えば、こんな表があったとします。(勿論、データ量はもっと沢山。。。) 各ランクごとの平均を求めたいのですが、どんな関数を使い、どんな範囲選択をすれば宜しいのでしょうか?  条件を付けAVERAGEで求めれば良いことはなんとなく分かるのですが・・・ 範囲の設定や数式の順番が全然分かりません。 よろしくお願いします。 ※金額欄(C列)・・・ 実際に未入力のセルがあるので、未入力のセルを0(ゼロ)として考えてくれる数式をお願いします

  • EXCELで隣のセルにデータがあるセルの平均を表示

    EXCELで隣のセルにデータがあるセルの平均を表示をさせる方法を教えてください。 A B 1 1 2 2 3 3 4 4 5 5 6 6 7 8 9 Aにはデータが大量に入っています。 Bには1日1つずつデータが入っていきます。 毎日、AのAVERAGEの範囲を変えて入力しなおしていますが、 Bにデータがある行までのAの平均値を自動的に出す方法はありますか?

  • エクセルでデータを指定して印刷したい

    ●Sheet1に以下のようにデータが入っています。   A B C 1 あ 100 黄 2 い 200 緑 3 う 300 赤 ●Sheet2のセルA1に1を入力すると、 Sheet3に あ 100 黄、 Sheet2のセルA1に3を入力すると、 Sheet3に う 300 赤 と表示するようにしています。 今までは、データも少なく、Sheet2で印刷したいデータを選択し、 Sheet3を印刷していましたが、データが増えた為、Sheet2のA1に1を、 A2に3を入力して、印刷のボタンのようなものを作り、そこをクリック すると、1から3までをSheet3の表示状態で印刷したいのですが… データを全部印刷するなどはいろいろ調べてわかりましたが、 この、範囲指定はかなり調べましたが、わかりません。 どなたか、よろしくお願いします。

  • エクセルで指定範囲の平均値を求めたいのですが。

    エクセル2010で、列に入った数値(時系列データー)の1つ前から直近50個分のデーターの平均や標準偏差を出したいのですが。 データーが毎日増えるので入力された値を直近の50個分のデーターの統計値と比較したいのですが直近50個のデーター範囲を指定する方法を教えてください。 毎日列の一番のセルに数値が入力されていく表が有って、最後の数値を除く、直近50個のデーターの平均値と比較したいのですが。 最新(一番下)の数値が大きく外れた場合、その「外れ値」を含めて、単に入力範囲全部のデーターの統計値と比較するのは不都合が有る為です。

  • 《エクセル2000》配列数式を使って抽出したデータの平均値と、フィルタをかけた場合との答えが違う?

    たびたび恐れ入ります。現在、アンケートの集計をしています。 B列に価格、C列に1~4の数値もしくはブランクが入っています。 「C列が1のものの価格の平均値を出す」のが目的で、配列数式の式は {=AVERAGE(IF(C2:C100=1,B2:B100,""))} としました。 一応それらしい答えが出ましたので、念のためフィルタをかけてC列が1のもののみを表示させ、SUBTOTAL関数を使って平均値を出すと、配列形式で出した数値とは微妙に違ってしまいます。 手計算をすると、SUBTOTAL関数を使った場合と同じ値になりますのでおそらくそちらが正しいのだと思います。 答えが変わってしまうのは、どうしてでしょうか? 以後同様に、配列数式を多用する予定ですので、非常に困っています。 どうかよろしくお願い致します。

  • 任意の1分平均から、それに対し-10%(又は+10%)の1分平均が現れ

    任意の1分平均から、それに対し-10%(又は+10%)の1分平均が現れるまでの時間 を求めるために下記E列のような処理を考えていますが、VLOOKUPではIFのように条件式ではなく検索値のため思うようにいきません。      (A列) (B列)  (C列)  (D列)  (E列) ( 1行) 00:00 o   B1 *1.1 00:00  =VLOOKUP(>=C1,B2:D1440,3) ( 2行) 00:01 o   B2 *1.1 00:01  =VLOOKUP(>=C1,B3:D1441,3) ( 3行) 00:02 o   B3 *1.1 00:02  =VLOOKUP(>=C1,B4:D1442,3)      .    .    .     .     .      .    .    .     .     .      .    .    .     .     . (1440行) 23:59 o   B1440*1.1 23:59   B列には1分平均値のデータがあります。 C列ではB列を+10%した値 C列の値を元に条件+10%が現れる時間をどうにかで出せないかと考えています。 何方かいい方法ありませんでしょうか? ご教授お願いいたします。

  • excel 2007 データを素早く範囲指定

    こんにちは。 excelを使用していますが、データが大量すぎて毎日すごく疲れます。 ショートカットキーか何らかの方法で、素早く正確に作業したいので相談させてください。 A列には1~1000行まで、範囲すべてにデータが入っています。 B列には1行目にデータが入っていますが、他にははいっていません。 C~Z列にはデータがあったりなかったりです。 B列1行目にマウスポインタがある状態で、 A列からZ列の1行~1000行目までをすばやく範囲指定する方法を教えてください。 よろしくお願いします。

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 先日下記の様な質問をさせて頂いたのですが、もう少し質問したいことがあったのに間違えて解決済にしてしまいました。 どなたか分かる方がいらっしゃいましたら教えてください。    A    B    C    D    E    F    G     H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 という質問に対して、 [H1]=AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2))) という式を教えて頂いたところ、うまくいきました。 半期分はこれでOKだったのですが、1年分だとHに半期の平均のセルが入るため、うまく表示できません。 ・B~Gが前期、Hが前期の平均 ・I~Nが後期、Oが後期の平均 さらに、Pに全期の平均を入れたい場合はどのようにしたらよいのでしょうか? [P1]=AVERAGE(B1:INDEX(B1:N1,COUNT(B2:G2,I2:N2))) にすると、Hのセルも入ってしまうため、後期に数字が入ると平均値の表示が1つずつずれてしまいます。 何回も申し訳ないのですが、どうぞよろしくお願いいたします。

専門家に質問してみよう