- ベストアンサー
エクセル関数
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
日曜日/「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
その他の回答 (2)
- DIooggooID
- ベストアンサー率27% (1730/6405)
データベース関数 を使用した場合です。 図のデータは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)
「▲」 の出現回数を カウント したいということですか?
補足
そういうことになるのでしょうか… 関数初心者のためうまく表現できていないかもしれませんが 添付した表は、現在作成中の集客(来場)データ表を簡略化したものです。 仮に、「○=男性」「▲=女性」「■=子供」とするとして 集計したいデータは (1)時間帯別(○時○分~○時○分)に男性、女性、子供のそれぞれの合計人数を出したい。(曜日は無視) (2)指定曜日の時間帯別に男性、女性、子供のそれぞれの合計人数を出したい。 うめく説明できていないかもしれませんが、こんな感じです。。。 よろしくお願いします。
お礼
できました! ありがとうございます!