• ベストアンサー

エクセル関数

エクセル関数についておしえてください。 添付した表についての質問です。 (1)ある時間帯の中の「C」の合計を抽出。 「15:00」~「15:59」の時間帯で「▲」の合計を抽出。 (2)ある曜日のある時間帯の中の「C」の合計を抽出。 日曜日の「15:00」~「15:59」の時間帯で「▲」の合計を抽出。 上記2つの関数がどうしてもわかりません。 いろいろ試してみているのですが、関数初心者のため困っています。 よろしくおねがいします。

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

  • ベストアンサー
回答No.2

日曜日/「15:00」~「15:59」の時間帯/「▲」の数の合計 ですと、 =SUMPRODUCT((A1:A23="日")*(B1:B23>="15:00"*1)*(B1:B23<"16:00"*1)*(C1:C23="▲")) となるかと思います。 EXCEL2007以降でしたら、 =countifs(A1:A23,"日",B1:B23,">=time(15,00,00)",B1:B23,"<time(16,00,00)",C1:C23,"▲") でも良いかな (手元に2007が無いので動作確認していませんが) ポイントは2つ。 sumproduct関数というのは、2つの列(行)にまたがる計算を順に足してくれるもので =sumproduct(A1:A23*B1:B23) とすると (A1×B1)+(A2×B2)+(A3×B3)+・・・+(A23×B23) となります。 使いどころによっては非常に便利です。 これを使って、複数条件のカウントに使うことができます。 エクセル内部では、A=B,となったときは「1」、A≠Bの場合は「0」 と内部で処理されています。 従って、 (A1=”日”)*(B1≧15時00分)*(B1<16時00分)*(C1=”▲”) を全て満たせば、1*1*1*1=1 となり 一つでも満たさなければ、1*1*0*1=0、です。 これを1行~23行まで全て足して、カウントしている・・・という仕組みです。 もう1つ、時間の比較について 単純に、B1<”16:00”とすると、”16:00”が文字列と認識してしまうため 比較が成り立ちません。 そこで、B1<”16:00*1 のように「*1」を追加するか time関数を使用し、「B1<time(16,0,0)」とします。 下記ページを参考にしました。 Excel(エクセル)基本講座:SUMPRODUCT関数 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/sumproduct.htm Excel2007(エクセル2007)基本講座:エクセル2007の新しい関数 http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-kansu.html#countifs Excel(エクセル)関数の技:時刻・時間の計算に関する技 http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/jikan01.html

vizravas
質問者

お礼

できました! ありがとうございます!

その他の回答 (2)

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

データベース関数 を使用した場合です。  図のデータは1行目から入力されていますが、 1行目には、タイトルを入れ、2行目からがデータ領域とします。 曜日 時刻 入場者 土  10:00  ○ 土  11:30   土  11:20  ○     : 次に E列、F列、G列 を使って、検索条件を入力します。      E     F    G 1    時刻    時刻   入場者  2    >=15:00   <=15:59 ▲  上記のようにした場合、 =DCOUNT(A1:C24,2,E1:G2)  これで 時刻が 15:00以上、15:59以下 で 入場者が ▲ の数が分かります。 ご参考 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/d_bas.htm

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

「▲」 の出現回数を カウント したいということですか?

vizravas
質問者

補足

そういうことになるのでしょうか… 関数初心者のためうまく表現できていないかもしれませんが 添付した表は、現在作成中の集客(来場)データ表を簡略化したものです。 仮に、「○=男性」「▲=女性」「■=子供」とするとして 集計したいデータは (1)時間帯別(○時○分~○時○分)に男性、女性、子供のそれぞれの合計人数を出したい。(曜日は無視) (2)指定曜日の時間帯別に男性、女性、子供のそれぞれの合計人数を出したい。 うめく説明できていないかもしれませんが、こんな感じです。。。 よろしくお願いします。

関連するQ&A