- ベストアンサー
エクセル関数を教えてください
エクセル関数を教えてください 実労時間を求めたいのでご教授お願い致します A1のセルに8時30分(8:30)と時間を入力します B1のセルに17時15分(17:15)と時間を入力します A2にA1とB1の入力データを使い8時30分から12時までの経過時間3時間3 0分を表示したい 以上、宜しくお願い致します
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
回答No3です。 補足でご質問の件ですが次のような式で対応できます。 A2セルには次の式を入力します。 =IF(COUNT(A1:B1)<>2,"",MIN(B1,"12:00")-MIN("12:00",A1)) B2セルには次の式を入力します。 =IF(COUNT(A1:B1)<>2,"",IF(OR(A1>"17:00"*1,B1<"12:00"*1),0,MIN("17:00",B1)-MAX("12:00",A1))) C2セルには次の式を入力します。 =IF(COUNT(A1:B1)<>2,"",MAX("17:00",B1)-MAX("17:00",A1)) A1セルの値が9:00はもちろん、13:00や16:00になっても対応できます。
その他の回答 (4)
- mshr1962
- ベストアンサー率39% (7417/18945)
12時まで A2=MIN(12/24,B1)-MIN(12/24,A1) 12時から17時まで B2=MAX(17/24,MIN(12/24,B1))-MIN(17/24,MAX(12/24,A1)) 17時以降 C3=MAX(17/24,B1)-MAX(17/24,A1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
このような場合によくつかわれる式は次のようです。 =IF(COUNT(A1:B1)<>2,"",MIN("12:00",B1)-A1) この式ではA1およびB1セルに時間(数値)が入力されていなければ空のセルとし、そうでなければB1セルの時間と12:00を比較してどちらか早い時間(小さい数値)からA1セルの時間を引くという計算になります。
- mo2yakko
- ベストアンサー率54% (30/55)
未入力チェックとは省いています =IF(B1>TIME(12,0,0),TIME(12,0,0)-A1,B1-A1) セルの書式設定でユーザ定義[h]:mm にすれば比較的簡単かもです。
- mu2011
- ベストアンサー率38% (1910/4994)
>A2にA1とB1の入力データを使い8時30分から12時までの >経過時間3時間30分を表示したい ⇒この要件の意味が不明、具体的に何が問題となっているのか補足してほしい
補足
補足遅くなりすみませんよろしくお願い致します 出勤時間(A1)から退社時間(B1)までの間で実労時間を求めたいのですが、 勤務時間(A1)と退社時間(B1)の入力は色々なパターンがあります。 例えば 6時~18時までとか、10時~11時30分など出勤退社時間がバラバラなので実労時間を求めるのに苦労しています。 実労時間は12時まで区切るグループ、12時~17時で区切るグループ、17時以降区切るグループに別れます A2セルに午前の実労時間(12時までの実労時間)を表示したい B2セルに午後の実労時間(12時から17時までの実労時間)を表示したい C2セルに17時以降の実労時間を表示したいと思います。 説明が上手く出来なくて申し訳ありませんがご理解いただけたらご教授お願いいたします。
お礼
KURUMITO様はじめこの度ご教授いただいみなさま、ご親切に相談に乗っていただき感謝しております。お陰様で問題が解決できました有難う御座いました。今後とも機会がございましたらご教授いただければ幸いです。