みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル 60進法 時間 計算

エクセルでの勤務時間の計算方法なのですが、

例えば、出勤 23時00分  退勤  7時00分

    出勤 7時00分   退勤  15時00分

の勤務時間をエクセルで足し算、引き算、合計計算の方法を教えてもらえませんか?

合計計算のように別々の複数の合計計算を出来るようには出来ないのでしょうか?


宜しくお願いします>

投稿日時 - 2008-09-22 20:08:41

QNo.4348770

すぐに回答ほしいです

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

>エクセル初心者なのでよく分かりません。

ご存じの通り、エクセルには計算、集計などなどに便利なように約250~340の関数が用意されています。
通常は、この中から目的に合った関数を使用します。 用意されたものにない場合は自分用の関数も作成し使用することもできます。 これでも解決できない場合は、VBAというプログラム言語(マクロはこの一部)を使用して解決できます。


>なぜにIF関数を使うのか

このケースで、なぜにIF関数を使ったかというと、時間の引き算をする時にマイナスになると正しく表示してくれないことと、簡単で分かりやすい関数であることであるからです。


>B2-A2<0の意味
>,を挟んでの3つの式の必要性を教えてもらえないでしょうか?

各関数には、それぞれ固有の書式というものが設定されています。 これに従って値を設定しないと正しい答えは得られません。 この書式はエクセルのヘルプに書かれていますのでそれに従います。

IF関数の書式は、次の通りです。 (通常のエクセル用)

  IF(論理式[,真の場合][,偽の場合])    [ ]の部分は省略可能という意味

となっています。

  =IF(B2-A2<0,B2+1-A2,B2-A2)

論理式は、「B2-A2<0」で意味は、もしセル"B2"の値から"A2"の値を引いた結果が「負」であったならば...
真の(負の数である)場合は、セル"B2"の値に「1」を加えてから"A2"の値を引いた結果を表示する。
偽の(0または正の数である)場合は、そのままセル"B2"の値から"A2"の値を引いた結果を表示する。

なお、エクセルのヘルプには大きく分けて2種類のヘルプがあります。 通常のエクセルのシートを開いている状態で見るヘルプはエクセル一般のヘルプです。 VBエディターからのヘルプは、VBA用で内容が違っています。

エクセルも結構奥が深いのでどこまで勉強したらよいかというのはありません。 何か疑問に思った時に人に聞く程度でしたら、数年たっても実用に適すだけの知識、技量は得られません。
特に会社での日常業務でエクセルを使うのであれば、最低数種類の参考書籍を購入して、毎日眺めながら、少しづつでも取り組み利用していくことを強く勧めます。 皆さんそうしています。 

関数1つづつ制覇していくのは仕事もはかどるし楽しいものですよ。 頑張ってください。

投稿日時 - 2008-09-24 03:26:32

お礼

大変解りやすい回答有難うございました。

理解できたと思います。

しかしいきなりこの式を自分で発想するのは困難と思います。

エクセルは奥が深いですね。

自分も少しはエクセルを勉強しようと思いました。

本当に有難うございました。

投稿日時 - 2008-09-24 19:06:34

ANo.3

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

   A    B    C
1 23時00分 7時00分 8時00分
2 7時00分 15時00分 8時00分
3  

C1:=IF(A1>B1,B1+1-A1,B1-A1) (書式は「h"時"mm"分"」)
C2:=IF(A1>B1,B1+1-A1,B1-A1) (書式は「h"時"mm"分"」)
C3:      =SUM(C1:C2) (書式は「[h]"時"mm"分"」)
和      =C1+C2    (書式は「[h]"時"mm"分"」)

ANo.1さんに代わって、
解説
:=IF(A1>B1,B1+1-A1,B1-A1)
もし、A1>B1なら、B1+1-A1の計算をしろ、そうでなければ(A1<=B1なら)B1-A1の計算をしろ、ということ。B1がA1より小さいと負数になって、時間は表せない。時間は24時間で0にもどるので、そのまま計算すると負数になる場合がある。
Excelでは、内部処理(シリアル値)で、小数点以下を時間に、整数部分を日付にしているので、24時間は1になる。それで1を足している。
とりあえずこんな説明しかできない。

これで納得できない部分は、自分で勉強する。
日付・時間の計算は難しい。しょっちゅう勘違いする。

投稿日時 - 2008-09-23 01:00:51

ANo.1

時間の計算は、基本的には一般の四則算に準じます。
ただ、24時間を超えると切り捨てられます(日数に回されます)。
これを回避するためには、書式設定が必要です。
設定したい範囲を選択状態にして、右クリック→セルの書式設定→表示形式→分類で、ユーザー定義を選択します。
種類の欄に、[h]:mm と記入、OK をクリックして完了。

〔計算例〕
    ,  A列    ,  B列    ,  C列
1行 , 出勤時刻 , 退勤時刻 , 勤務時間
2行 ,  23:00   ,  07:00   , =IF(B2-A2<0,B2+1-A2,B2-A2) ← 引き算 
3行 ,  07:00   ,  15:00   , =IF(B3-A3<0,B3+1-A3,B3-A3) ← 引き算
4行
5行 ,        ,        , =SUM(C2:C3) ← 合計
6行 ,        ,        , =C2+C3     ← 合計 = 足し算

IF文中、B+1、B3+1 の“1”は、1日=24時間 の意味です。

投稿日時 - 2008-09-22 23:04:04

補足

お返事大変有難うございます。

なぜにIF関数を使うのか。

B2-A2<0の意味

,を挟んでの3つの式の必要性を教えてもらえないでしょうか?

エクセル初心者なのでよく分かりません。

お時間があればでかまいませんので宜しくお願いします。

投稿日時 - 2008-09-22 23:58:38

あなたにオススメの質問