エクセルIF関数についての解説

このQ&Aのポイント
  • エクセルのIF関数について詳しく教えてください。
  • 給料の計算方法についてのエクセルの設定方法を教えてください。
  • 出勤時間と退社時間を使って実労働時間を計算し、一日の支給額を表示する方法を教えてください。
回答を見る
  • ベストアンサー

エクセルIF関数について教えてください

エクセルで困っています。単純な事かもしれませんが、初心者なので全然わかりません。 教えてください。 給料の計算方法が下記の条件の場合、どのように作成したらよいでしょうか。 (1)労働時間が1分~5時間までは一律8000円とする。 (2)5時間を越えた場合は、 8000円 + 超えた分の時間は15分単位にて時給(1700円)をかける。 上記が条件となります。 現在、出勤時間を入力するA2 退社時間を入力するB2  それを引き算にて C2 に実労働時間を表示しています。 できれば(1)(2)の関数をD4に 一日の支給額として表記したいです。 わかりにくくてすみません。 よろしくお願いいたします。

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

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.2

時間の入力は日付から入力しましょう。でないと日付を跨いだ時に計算が破綻します。 ■本題  =MIN(C2,"5:00:00") これで5時間を超えた場合でも5時間までの値を取り出せます。 一律って事だから不要かな?  =MAX(C2-"5:00:00",0) これで5時間を超えた時間を取り出せます。 ただし、時間はシリアル値という、24時間を1とした数値になっています。 5時間なら 5/24 ≒ 0.208633 になっています。 時間単位の数値に直すのであれば 24倍しましょう。(5÷24×24 ってこと)  =MIN(C2,"5:00:00")*24  =MAX(C2-"5:00:00",0)*24 残業した時間を 15分単位で区切るなら、時間を 4倍して、小数点以下の値を切り捨てて、もう一度 4で割ればいい。 小数点以下の値を切り捨てる方法はたくさんあります。  四捨五入する関数を使用する(ROUNDDOWN関数を使う)  整数化する(INT関数を使う) 4倍することなく FLOOR関数でもいいでしょう。  =FLOOR(MAX(C2-"5:00:00",0),"0:15")*24 あとは、時間が入力されていなければ空白を表示して、時間が入力されていれば計算をするように IF関数を使って記述すればOK。  IF(C2="","",8000+FLOOR(MAX(C2-"5:00:00",0),"0:15")*24*1700) とか まあ、C2セルには IF(COUNT(A2:B2)=0,"",B2-A2) などとしておくと良いでしょう。 ※ 実際にこの関数式の動作を確認していませんので、正しい動きをしなくても怒らないでください。

kamome151
質問者

お礼

記入頂いた関数を そのままコピーして使わせて頂くと 正しい計算がされました。 ありがとうございました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答番号:ANo.1です。  申し訳御座いません、(2)の条件を勘違いをしておりました。  1700円を掛けるのは、「実労働時間全て」ではなく、「5時間を超えた分の時間」に対してでした。  その場合の数式は、 =IF(C2>0,IF(C2>"5:00"*1,8000+1700*FLOOR(C2-"5:00","0:15"*1),8000),"") 或いは、 =IF(C2>0,8000+1700*FLOOR(C2-"5:00","0:15"*1)*(C2>"5:00"*1),"") になります。

kamome151
質問者

お礼

そのままコピーして貼付すると 計算がうまくいかず おそらく私が言葉不足で 伝えきれていないのでしょうか。 ご丁寧にご回答頂いたのに 申し訳ございません。 本当にありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

>現在、出勤時間を入力するA2 退社時間を入力するB2  それを引き算にてC2に実労働時間を表示しています。  それだけでは、休憩時間も実労働時間に含めている事になり、一般的な労働時間の計算方法(休憩時間は差し引く)とは異なりますが、それでも宜しいのでしょうか?  宜しく無い場合には、補足欄等を使用して、何時から何時までが休憩時間となっているのかをお知らせ願います。  尚、もしも、休憩時間が存在しない等の理由で、退社時刻から出勤時刻までの時間が全て労働時間である場合には、(1)(2)の条件で一日の支給額を求める関数の例は次の様なものになります。 =IF(C2>0,IF(C2>"5:00"*1,8000+1700*FLOOR(C2,"0:15"*1),8000),"")  或いは、上記の数式を次の様に変形する事も出来ます。 =IF(C2>0,8000+1700*FLOOR(C2,"0:15"*1)*(C2>"5:00"*1),"")

kamome151
質問者

補足

すみません。 言葉足らずでした。 休憩に関しては、休憩がある場合とない場合がある為、 ある場合は、別セルに入力し、 実労働時間のセルに  退社時間-出社時間-休憩時間 を計算しています。 わかりにくくて すみません。

関連するQ&A

  • エクセル関数で給与の計算について

    エクセルの関数を使って、出社時刻と退社時刻、休憩時間を入力するだけで日給が求められるようにしたいのですが、どうしてもうまく計算されません。 始業時間 10:00  時給 1,000 終業時間 17:00  残業割増 100 休憩    1:00  休日割増 100 と決まっていて、平日に残業がある場合、休日出勤で残業がある場合、残業はない場合などがありますので、それらの条件での日給を求めたいのです。 表には、A1からK1までに下記のような項目と値になっています。   日付 曜日 出社時刻 退社時刻 出社  退社  休憩  6/1  土  9:45  18:25   10:00 18:15 1:00 残業  時間  実働時間  日給 1:30  8:30 8.50 9,200 Eの出社には、15分単位で切り上げた値を、Fの退社には、15分単位で切り捨てた値がでるようにして、Iの時間には、「F-E-G+H」、Jの実働時間には、シリアル値を時間と分に変換する計算になっています。 日給がうまく計算される方法は無いでしょうか? 教えてください。お願いします。

  • FLOOR関数、なぜか 2:15 が 2:00 に

    労働時間を15分単位での切捨て =FLOOR(C5,"00:15") で 計算していますが、15分と2時間15分だけ、おかしな数字になって しまいます。これはなぜでしょうか? 出勤時間 退社時間 労働時間 12:00 12:15 0:15 0:00 ★ 11:00 12:15 1:15 1:15 10:00 12:15 2:15 2:00 ★ 9:00 12:15 3:15 3:15 8:00 12:15 4:15 4:15

  • エクセルで時間外を求める関数

    エクセルで勤務管理表を作成しています。 早出・遅刻・残業の合計時間を関数を使って求めるには どうしたら良いでしょうか? A行には出勤時間 C行には退社時間入力 出勤時間8:00、退社時間17:00が定時です。 8時前に出社した場合15分単位で早出割り増しがつきます(7:28出社なら0.5/7:47出社の早出はゼロ) 8時1分を過ぎると8:30出社とみなされます(0.5の遅刻) 17時15分を超えると15分単位で残業がつきます(0.25の残業) 最終的にE行に早出と残業の合計時間を0.25の単位で入力したいのですが、関数を教えて下さい。

  • エクセルでの時間計算について教えてください。

    エクセルでの時間計算について教えてください。 バイト代をエクセルで計算しようと思っています。 A1 出勤時間 B1 退社時間 C1 労働時間 30分単位でバイト代を支払うため、30分を超えた端数は切り捨てで、労働した時間を出すのに =FLOOR(C6-B6,"0:30:0") と入れると、端数のない時間の場合、30分短くなってしまいます。 例)10:00出勤、14:00退社→3:30(4:00にしたいです) 端数がある場合にはちゃんと計算できるのですが、どのようにしたら良いか教えてください。 よろしくお願いします。

  • EXCELで関数を使って残業時間の計算がしたいのですが・・

    EXCELを使って残業時間の計算したいと思っているのですが、関数にあまり詳しくないのでアドバイスお願い致します。 (A1)出社、(B1)退社時間は30分単位で自分で入力します。 D1に10時間以降残業にし、残業に満たない場合は未表示で30分単位は0.5と表示させようと思っています。 今現在 A1=出勤時間 8:00 B1=退社時間 20:00 C1=労働時間 12:00   関数  =IF(A1="","",B1-A1) D1=残業時間 =IF(C1="","",IF(C1>"10:00",(C1-"10:00")*24,"")) と、いう感じにやってみましたが、D1の計算がうまくいきません。よくわからないのですが、シリアル値というのが関係してるのでしょうか?宜しくお願い致します。

  • 関数で時給計算

    時給1100円のパートで15分単位と休憩時間を時給に換算するのですがどういう関数を使えばいいかわかりません。 たとえば9時2分出勤(タイムカードを押す時間)16時3分退社なら 9時15分~16時という勤務時間で計算します。 0~15分までに入ったら15分始業 15~30分までは30分始業 30分~45分までは45分始業 45分~0分までなら00分始業という感じです。 MINUTEとIFでするのかなとか漠然と考えているのですが、どういう関数を使えばいいかわかりません。 タイムカードの時間と休憩時間を入力すると自動的に1日何時間勤務で月給いくらと出る表を作成したいのです。

  • エクセル不変則な休憩時間の実労働時間計算

    お世話になります。色々と調べて見ましたが分からなかったので質問します。 今、勤務管理表を作成しています。労働条件は下記の通りです。  ◆定時:9:30から17:30 ◆休憩時間:12:00~13:00  ◆遅刻した場合でも勤務時間が休憩の時間をまたいだときは必ず、12時から13時までとります。 遅刻したり、早退した場合、その時間によって、実労働時間が変わります。 例えば、12:53に出勤⇒13:59に退社したときは実労働時間は59分です。(休憩時間を考慮する) また9:30よりも早く出勤しても特に手当てはつかず、9:30出勤とみなします。 この場合、下図の「出勤時間」、「退社時間」を入力すると、「休憩時間」と「実労働時間」が 自動的に出したいのですが、どの様な数式を使えばいいのでしょうか。 列を増やす事はOKです。よろしくお願い致します。    

  • エクセルでの時間の表記および計算について

    こんにちは。 エクセルで1ヶ月働いた労働時間と時給を計算したいのですが、あまり詳しくないので困っています。 具体的には セルB1に○さんの出勤時刻 8:53 を入力します セルB2に○さんの退社時刻 12:07 を入力します セルB3に二度目の出勤時刻 12:46 を入力します セルB4に二度目の退社時刻 15:29 を入力します 以上で一日のの実働時間が 5:57 になります。 (この時間の出し方もいまいちわかりませんが、タイムカードの 計算どおりです) 以上のように表記して、さらに休日と平日の時給が違うので 1か月分が 7:03(休日) 5:57(平日) 5:41(平日) 7:07(休日) 5:55(平日) 6:48(休日) 6:34(平日) 3:04(休日) 5:57(平日) となります。 この実働時間をエクセルで平日の時間合計と休日の時間合計をして さらに時給をかけて、計算したいのですが どのように式をいれたらよいのか、わかりません。 60進法がいまいち理解できてないので、始末が悪いです・・・。 単純に数字を足せばよいというわけにはいかないのですよね・・・。 どなたか親切な方、サルでもわかるように教えてください。 お願いします。

  • IF関数について

    IF関数で時間を「切り上げ」とか「切り捨て」したいのですが、 できるのでしょか? 例えば 12:10と入力した場合、12:15と表示したり(切り上げ) 10:37と入力した場合、10:30と表示したり(切り捨て) と言う感じにしたいです。(15分単位で)

  • エクセル関数で時間の計算方法を教えて下さい。

    エクセルの関数に詳しい方、是非助けて下さい。 労働時間計算をエクセル関数を使って簡単に出来ないものかと考えてます。 一般就業時間は9:30から18:00までとして 1つ目 出勤9:30から退社18:00うちお昼休み1時間=?時間 2つ目 18:00以降の残業がある場合、18:30を過ぎた場合は、=全て30分       18:30を過ぎない18:20等の場合は=0:20を表示する。 3つ目 出勤9:30からで退社20:00の場合は、=一つ目の?時間-二つ目の30分-9:30から20:00までの時間 以上の内容を セルA1に出勤時間 セルB1に退社時間 セルC1に1つめの値 セルD1に2つ目の値 セルE1に3つ目の値を出したいと思っています。 色々試したのですがうまくいかず大変困っています。 宜しくお願い致します。

専門家に質問してみよう