• ベストアンサー

時間の引き算し、勤務時間を出したいが・・・

すみませんが、教えてください。 勤務開始時間と終了時間を入れて、勤務時間を出す計算をしましたが、正確に出ないときがあるのですがどうしてでしょうか? C2:開始時間 D2:終了時間 =IF(D2>=C2,(D2-C2)*24,(D2+"24:00"-C2)*24) ex 開始時間‐終了時間=勤務時間 ○ 19:00-9:00 14h × 19:00-9:00 -10h 何が影響しているのかわかりません。 分かる方、教えてください

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.4

HOUR関数を使用しては如何でしょうか? =IF(HOUR(D2)>=HOUR(C2),HOUR(D2)-HOUR(C2),HOUR(D2)+24-HOUR(C2)) 日付を含んでいたり、文字列のデータであっても計算出来ると思います。

saito2010
質問者

お礼

ありがとうございました。 できました。 感謝です。

その他の回答 (4)

noname#101770
noname#101770
回答No.5

#1ですが ちゃんとセルの書式設定で日付が見れるようにしていますか? ユーザ定義で「yyyy/m/d h:mm」です

saito2010
質問者

お礼

ありがとうございます。 行ってみたいと思います。 いろいろ情報ありがとうございました。

  • shinh
  • ベストアンサー率39% (363/926)
回答No.3

文字列をシリアル値に変換する関数は TIMEVALUE(時刻文字列) など あります。 が しかし、 データの形式を統一していないのが 今回の問題ではないでしょうか。 >"9:00”と、これは文字データで入っているのですね。 これは 特殊な場合ですね たぶん 正常な計算値の場合は 文字列ではないのでは あとあとのため 統一した方が良いのではと思います。 計算式(条件式)が複雑にならなくて済むので。

saito2010
質問者

お礼

ありがとうございます。 そうですね。 データ形式を統一した方がいいですね。 ありがとうございます。

  • shinh
  • ベストアンサー率39% (363/926)
回答No.2

数式の検証でチェックしてみてはどうでしょう。

saito2010
質問者

お礼

ありがとうございます。 分かりました。 検証したら開始時間が"9:00”と、これは文字データで入っているのですね。 セルに文字データとして入っている場合、選択してセルの書式設定で時刻にしてもだめですね。 この文字を時刻に変換する方法は、ありますでしょうか? すみませんがよろしくお願いいたします。

noname#101770
noname#101770
回答No.1

セルに入力した情報に時間だけでなく日付も入ってしまっているのではないでしょうか。

saito2010
質問者

お礼

ありがとうございます。 確認してみたのですが、時間だけのようです。

関連するQ&A

専門家に質問してみよう