[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『イコールの後のマイナス記号について』(gk)
初めまして、お世話になります。
エクセルで勤務時間と残業時間の計算式を作成中ですが、
計算式のイコールの後にマイナス記号”--”を入れるか入れないかによって、エラーが回避されるのは何故か教えていただけないでしょうか。
■稼働時間の計算式にマイナスなし
[結果]
ログイン ログオフ 稼働時間 残業時間
10:00(A5) 17:00(B5) 7:00(C5) #########
[式]
稼働時間 =(TEXT(IF(A5>=B5,(B5-A5)+1,B5-A5),"[h]:mm"))
残業時間 =IF(C5<"09:00:00",0,C5-"09:00:00")
■稼働時間の計算式にマイナスあり
[結果]
ログイン ログオフ 稼働時間 残業時間
10:00 17:00 7:00 0:00
[式]
稼働時間 =--(TEXT(IF(A5>=B5,(B5-A5)+1,B5-A5),"[h]:mm"))
残業時間 =IF(C5<"09:00:00",0,C5-"09:00:00")
セルの書籍設定、表示形式に「[h]:mm」を設定しています。
よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows7 >
「--」記号は文字列を数値化するのに使います。 *1や+0と同じで一度計算させることによって文字列を数値にしています。 「-」だとマイナス表記となってしまいますが、2つ重ねることによって プラスに戻しています。 (秀丸) 2017/06/07(水) 11:45
稼働時間:=TEXT(IF(A5>=B5,(B5-A5)+1,B5-A5),"[h]:mm")*1 残業時間:=IF(C5<"09:00:00"*1,0,C5-"09:00:00") になるか。
(ねむねむ) 2017/06/07(水) 11:47
ああ、残業時間は =MAX(0,C5-"09:00:00") でもいいか。 (ねむねむ) 2017/06/07(水) 11:48
稼働時間:=TEXT(B5-A5+(A5>B5),"[h]:mm")*1 残業時間:=MAX(0,C5-"9:00")
でも同じことだと思います。
ところでC5は24時間以上になることがあるんですか? (笑) 2017/06/07(水) 11:53
C5(稼働時間)が24時間超になることはないが、 ちょうど24時間になることならあるということだったら
稼働時間:=TEXT(B5-A5+(A5>=B5),"[h]:mm")*1 ~~ ついでに書いておくと >=--(TEXT(IF(A5>=B5,(B5-A5)+1,B5-A5),"[h]:mm")) ~~ ~~ ~~ ~~ 波線の( )は要らないと思います。
=--TEXT(IF(A5>=B5,B5-A5+1,B5-A5),"[h]:mm")
参考まで。 (笑) 2017/06/07(水) 12:40
「--」は「*1」と同じなんですね。「+」にしてもエラー「###〜」で返るので、どう違うのかと悩んでいました。
MAX関数での書き方のご指示もありがとうございます。こちらのほうが式もシンプルでわかりやすいですね。
そもそもMAX関数を使えば、数値変換なしでも結果がちゃんと返ってきました。
余計なカッコがたくさんあったようで、書き方の訂正もご丁寧にありがとうございます。
ご指摘の通り、稼働時間(C5)がちょうど24時間のときもあります(超えることはありません。)
教えて頂いた式の計算の考え方が難しくてわからないのですが、参考にさせていただきます。
稼働時間:=TEXT(B5-A5+(A5>=B5),"[h]:mm")*1
(gk) 2017/06/07(水) 13:42
↓ ならわかりますか?
=TEXT(B5-A5+IF(A5>=B5,1,0),"[h]:mm")*1
参考まで。 (笑) 2017/06/07(水) 15:16
大変勉強になりました。ありがとうございました。
(gk) 2017/06/07(水) 15:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.