- ベストアンサー
エクセルで時間帯の人数
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
御質問に添付されている画像に写っている関数は =(COUNTIF(G4:G5,">=8:00")-COUNTIF(G4:G5,">=18:30")) となっていますが、その中の COUNTIF(G4:G5,">=8:00") の部分は「8:00までいた人の人数」をカウントする関数となっており、それに対して COUNTIF(G4:G5,">=18:30") の部分は「18:30までいた人の人数」をカウントする関数となっておりますので、結局、質問者様が作られた =(COUNTIF(G4:G5,">=8:00")-COUNTIF(G4:G5,">=18:30")) という関数は、「『8:00までいた人の人数』から『18:30までいた人の人数』を差し引いた人数」、即ち「8:00まではいたが、18:30にはいなかった人数」、「8:00以降で尚且つ18:30になる前に退場した人の人数」を求める関数となっています。 >18:50に退場した人 というのは、「18:30になった時にはいた人」なのであって、「18:30になる前に退場した人」ではありませんから、質問者様が関数で設定しておられる「8:00以降で尚且つ18:30になる前に退場した人の人数」という条件から外れているためカウントされない事になります。 ですから、もし入退場に関するデータがG4:G5ではなく、質問者様が御質問文で説明しておられる通りに A B C 1名前 8:00 17:00 2名前 8:00 18:50 というレイアウトの表に入力されている場合で、尚且つ 入場時間が何時であるのかという事は関係なく、単純に「18:00までいた人の人数」を求めるのであれば、 =COUNTIF($C:$C,">=18:00") になります。 また、もし「8:00以降(8:00自体も含む)に入場し、18:00まではいた人の人数」即ち「8:00以降(8:00自体も含む)に入場し、18:00以降(18:00自体も含む)になってから退出した人の人数」を求めるのであれば、 =COUNTIFS($B:$B,">=8:00",$C:$C,">=18:00) になります。 また、もし「8:00から18:00までの時間帯の間中いた人の人数」即ち「8:00以前(8:00自体も含む)に入場し、18:00よりも後(18:00自体も含む)になってから退出した人の人数」を求めるのであれば、 =COUNTIFS($B:$B,"<=8:00",$C:$C,">=18:00) になります。
その他の回答 (5)
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.4です。 質問に画像が添付されたようですが、質問文と画像の数式バーが食い違うようです。 質問文ではA列に名前、B列に入場時刻、C列に退場時刻のように読み取れますが、画像の数式は次のように読めます。 =(COUNTIF(G4:G5,">=8:00")-COUNTIF(G4:G5,">=18:30")) この数式ではG列に退場時刻が入力されていて8:00以降であり、然も、18:30以前に退場した人数を数えていることになりますので、8:50に退場した人は含まれません。 質問の論理と数式の論理に食い違いがありますので、やりたいことをもう1度見直してください。
- bunjii
- ベストアンサー率43% (3589/8249)
>countifで作ると18:00までとすると18:50に退場した人の人数がカウントされません。 COUNTIF関数で計数できますが、あなたはどのような数式にしましたか? 自分の誤りを添削して貰いたいときは組み立てた数式を提示してください。 =COUNTIF([範囲],[検索条件]) [検索条件]が正しく記述しないと計数から除外されてしまいます。 尚、入場時刻が別枠の時刻より遅い人が居る場合はCOUNTIFS関数で入場時刻と退場時刻を検索条件に含めないと正しい計数ができません。
- neKo_quatre
- ベストアンサー率44% (735/1636)
> 18:00までとすると > 18:50に退場した人の人数が > カウントされません。 カウントされちゃダメでしょう。 面倒でも、しっかり質問のためのサンプルデータ作って、どこにどういう関数入れた時に、何がどうなるはずのものが、どうなるのが問題とかって、問題点や質問内容を明確にするのが良いです。
- mshr1962
- ベストアンサー率39% (7417/18945)
>18:50に退場した人の人数がカウントされません。 現状の数式を提示しないと、なぜカウントされないかの判定ができません。 17:00までいた人の人数 =COUNTIF($C$1:$C$50,">=17:00") 18:00までいた人の人数 =COUNTIF($C$1:$C$50,">=18:00") でしょうか? 要は2行目の人がカウントされないとすると、 集計範囲が相対参照になっていてC1:C50でなくC3:C54のようにずれてる可能性が高いと思います。
- kkkkkm
- ベストアンサー率66% (1719/2589)
> countifで作ると > 18:00までとすると > 18:50に退場した人の人数が > カウントされません。 18:00までいた人の人数が18:00台までいた人の人数でしたら =COUNTIF(C1:C5,"<19:00")
お礼
とても親切にありがとうございます。 詳しく教えて頂き感謝してますm(__)m