プロが教えるわが家の防犯対策術!

残業時間の計算表を作ろうとしているのですが、時間の計算をしたことがなく基本的なことができません。

朝 8:00に出勤して13:00に退社した場合、朝のセルから退社した時間のセルを引くと5:00と出ます。
が単純のここから休憩時間の15分を引いて4:45と出すようにしたいのですが。

この他にも色々な条件があるのですが、まずここができないことには始まらないのでどなたかHELPお願いします。

質問者からの補足コメント

  • うーん・・・

    何度もすみません。

    今使っている実際の勤務表を見たら、別のセルで計算した諸々の条件(引くべき時間)が見えないセルに計算結果として「0:30」とはいており、このセルをA1-B1ーZ1としてみたら####でエラーになるのですが、このケース(別セルに計算結果や定数)で入っている場合の引き算はどう処理すればよいのか教えて頂ければ幸いです。

    追加の質問で申し訳ありませんがよろしくお願いします。

    No.5の回答に寄せられた補足コメントです。 補足日時:2021/10/20 16:33

A 回答 (11件中1~10件)

時間の計算はNo.1さんやNo.4さんの回答のように、時間表記をダブルコーテーションで囲って計算する方法を用いれば、四則演算では自動的にシリアル値に変換されます。


TIME関数では1時間15分を「=TIME(1,15,0)」と書いても「=TIME(0,75,0)」と書いても良いわけですが、""を使った場合も「"1:15"」でも「"0:75"」でもOKです。
関数が不要で視覚的にも判り易いのでお勧めです。
また、
>このセルをA1-B1ーZ1としてみたら####でエラーになる
のは計算結果がマイナスになるからです。
EXCELの標準的な設定では、結果がマイナスになる時間計算は時間形式(表示形式「[h]:mm」)では表示できません。
表示できないだけで、計算は行われています。(他の表示形式に変更して内容を確認することはできますので、計算のエラーとは異なります)
実際に時間計算の途中でマイナスが発生するというケースは多々ありますが、勤務時間の集計で「勤務時間が最終的にマイナス」ということは現実にはおこらないはずです。
従って、計算途中のマイナスの####が気になるなら、「フォントの色を白にして表示しない」という手もあります。
どうしても「マイナスの時間も表示させたい」のであれば、そのファイルを開いている状態で、
(1)「EXCELのメニューのファイル⇒オプション⇒詳細設定⇒1904年から計算するにチェックを入れる」を実施した後、名前を付けて保存して、EXCEL
を閉じる。
(2)EXCELを起動し、「空白のブック」を開いて、「EXCELのメニューのファイル⇒オプション⇒詳細設定⇒1904年から計算するのチェックが外れている」ことを確認する。
この後、(1)で保存したブックを開くと、「マイナスの時間も表示できる」ようになっているはずです。
    • good
    • 0
この回答へのお礼

ご回答非常に参考になります。

他のご回答者様のご回答も参考になりましたが、今後の作業でマイナスも想定されますのでその対処法は当方にとっては特に有用です。

これから実際の過去の勤務表を基に試行錯誤でトライしてみます。

先ずは一度締め切らせていただきますが、また何か質問が出てくると思いますのでその節にも宜しくお願い致します。

お礼日時:2021/10/21 08:46

No.10です。

前回回答の補足です。
添付画像①をご覧ください。
「終了」から「開始」を引いて「経過時間」を計算していますが、2行目と5行目は「開始」「終了」が逆転して「経過時間」がマイナスになっているため、「######」と表示されています。
しかし、右側の計算でE2にA2の「開始」を入れ、F2を「=E2+C2」として「######」となっている経過時間C2を足してみると、ちゃんと「1:00」と表示され、「######」でも計算は行われていることが判ります。
F4も同様です。
添付画像➁をご覧ください。前回回答でお示しした「1904年から計算する」にチェックを入れたブックを作成する方法で表示したものです。
添付画像①で「######」と表示されていたC2とC5が夫々「-7:00」「-1:00」と表示されています。
「エクセルで時間の計算方法」の回答画像11
    • good
    • 0
この回答へのお礼

なるほど!!!!
非常に良く理解できました。

お礼日時:2021/10/21 08:39

もうちょっと視覚的に分かりやすい方法が良いかな。



 ="13:00"-"8:00"-"0:15"

これで 「4:45」 が返ってきますよ。

・・・

#####表示になる場合は、計算結果がマイナスになっています。
マイナスの時間表示はできないんですよ。
で、エラー扱いになる。

 ="13:00"-"8:00"-"0:15"
のはずが

 =""-"8:00"-"0:15"
  ↓
 =0-"8:00"-"0:15"
になっていたりしませんか。


・・・時間の基本知識・・・

「シリアル値」
というもので日時は管理されています。
15分なら0.0104166666666667
30分なら0.0208333333333333
1時間なら0.0416666666666667
3時間なら0.125、
6時間なら0.25、
12時間なら0.5、
1日は1、
2日は2、
10日なら10。

そんなわけで、1日3時間なら「1.125」という数字が「シリアル値」として存在します。
時間と日付はすべて「数値」なので、特に考えることなく計算が可能です。

なお、このシリアル値、「1900年1月1日 0:00」が「1」で、
ここから積算されます。
「1900年1月1日 12:00」なら「1.5」です。
そして
「2021年10月20日 19:00」は「44489.7916666667」になります。

ちなみにシリアル値の「0.5」は「1900年1月0日 12:00」というあり得ない日付になります。

・・・【重要】・・・
「日時とみなせる文字列は日付または時刻としてシリアル値に置き換えられます」
冒頭でダブルクォーテーションで時間を囲っているのはそのためです。
この方が分かりやすいでしょ。

・・・ウンチク・・・

Excelの中ではこんな扱いなんです。
時間の計算をしたらマイナスになって ##### になってしまったら、
日付を含んだ計算をすると良いかもしれません。

 ="1:00"-"8:30"
  ↓
  #####

 ="2021/10/9 1:00"-"2021/10/8 8:30"
  ↓
  "16:30"
てね。
    • good
    • 0
この回答へのお礼

ご回答はこれからエクセルで時間を扱う時には非常に有益な基本情報ですね。
これから少しいじってみて自分の使いやすい方法を見つけます。
本当にありがとうございました。

お礼日時:2021/10/21 08:42

No.7です。



出退勤管理の関するEXCELテンプレートが、数多く公開されています。
先ずは、そちらをご参照されたほうが良いです。
埋め込まれた関数利用も大いに参考になるはずです。
    • good
    • 0
この回答へのお礼

確かに!!

お礼日時:2021/10/21 08:42

会社の業務であれば、会社員給与計算に直結します。


そんな重要な業務を、こんな所で相談した結果で行わないでください。
きちんと、会社の上司(管理職)に相談して、
上司/会社の責任とした管理方法で計算しないといけません。

労基法での勤怠管理は分単位で行うようになっています。
30分単位に満たない歯数は切り捨て、
なんてことを貴女の判断で行ってはいけませんよ。
    • good
    • 0
この回答へのお礼

早々かつ貴重なご意見ありがとうございます。

当方零細企業のため業務改善活動として社長に言われて素案を作っています。
これを実際に試行してみて、従来の勤怠表と比較して間違いないことは社長(社員全員)が確認してからの運用になります。


当方 昔大手企業のシステム課でプログラムをいじったことがあり少しばかりエクセルを使えるので白羽の矢が立っただけです。

ご心配いただきありがとうございます。

お礼日時:2021/10/20 16:44

=TIME(13,0,0)-TIME(8,0,0)-TIME(0,15,0)


時刻はセル参照でもできますが。直書きならこんな風に。
    • good
    • 0
この回答へのお礼

TIME関数を始めてみました。
非常に参考になりました。

お礼日時:2021/10/21 08:43

もう少し応用例を書くと



5:00から 1時間25分をひく方法 =D5-TIME(1,15,0)
この回答への補足あり
    • good
    • 1
この回答へのお礼

何度もご丁寧にありがとうございます。

確かに1時間以上の場合もあり得ますので参考になりました。

お礼日時:2021/10/20 16:29

こんにちは



>が単純のここから休憩時間の15分を引いて4:45と出すようにしたいのですが。
そのまま15分を引き算すればよいです。
 =「朝のセル」-「退社時間のセル」- "0:15"

※ "0:15"は文字列ですけれど、四則演算をする際には、エクセルがシリアル値(=エクセルの時間型の値)に変換して計算してくれます。
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
” ”に気付きませんでした。

お礼日時:2021/10/20 16:28

もし、希望の時刻をD2の位置に出すのであれば、



=c2-time(0,15,0)

5:00の右隣のセルに上記の1行分を入力してみてください。
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
この表記も当方には分かり易く参考になります。

お礼日時:2021/10/20 16:27

こちらのサイトが分かりやすいのでは↓


https://news.mynavi.jp/article/ms_office-111/

この例では休憩1時間(1,0,0)なので、15分の場合は(0,15,0)で良いかと。
    • good
    • 1
この回答へのお礼

早々のご回答ありがとうございます。
非常に参考になります。

先ずはコツコツを試してみます。

お礼日時:2021/10/20 16:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!