• 締切済み

エクセルで時間の計算について

時給計算する為の表を作成しています。 時給は時間帯で変るので、時間帯ごとの時間数が出るように計算したいのですが、 自分で考えると条件式を多用して複雑になってしまいます。 もっと簡単に出来るアイディアはありませんか? 具体的な内容です。 6:00~12:00の間は900円(A時間帯) 12:00~17:00の間は800円(B時間帯) 17:00~20:00の間は900円(A時間帯) 勤務開始及び終了時刻はは6:00~20:00までの間、日によってバラバラです。 データの入力は勤務開始時刻と終了時刻を入力します。 そのうえで、A時間帯が○時間(午前と夕方以降の合計)、B時間帯が△時間という結果を得る為の 良い方法があれば教えてください。

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

A1に開始時刻、B1に終了時刻があるとき  6:00~12:00の勤務時間 →  =IF(A1<"12:00"*1,MIN(B1,"12:00"*1)-A1,0)  12:00~17:00の勤務時間 → =IF(A1<"17:00"*1,MIN(B1,"17:00"*1)-MAX(A1,"12:00"*1),0)  17:00~20:00の勤務時間 → =IF(B1>="17:00"*1,B1-MAX(A1,"17:00"*1),0) でそれぞれ求めることができます。まずこの式を結果を確認してください。 次に時給を計算するためには「3:30」の時刻表示を「3.5」のような十進数に変換する必要がありますが、これは簡単です。「3:30」のセルに数字の「24」を掛ければよいのです。ですからそれぞれのシフトの給与は  6:00~12:00の給与 →  =IF(A1<"12:00"*1,(MIN(B1,"12:00"*1)-A1)*24*900,0)  12:00~17:00の給与 → =IF(A1<"17:00"*1,(MIN(B1,"17:00"*1)-MAX(A1,"12:00"*1))*24*800,0)  17:00~20:00の給与 → =IF(B1>="17:00"*1,(B1-MAX(A1,"17:00"*1))*24*900,0) になります。一日の給与はこの3つを足せばよいですね。 一行にまとめるもよし、セルを分けてそれぞれのシフト毎に計算してSUM関数で合計するもよし… 補足 ・エクセルでは1日をシリアル値の「1」で表し、1時間は「1/24」で表されます(これが日付や時刻を「標準」書式で表示したときの値です)。従って時刻表示は24倍することで十進表記に変更できます ・式中の「"12:00"*1」は時刻の文字列をシリアル値に変換する方法の一つです。「*1」って何だろうと悩まず、「そんなもんだ」と思ってください

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

A1が始業、B1が終業として B時間=MAX(MIN(B1,17/24),12/24)-MIN(MAX(A1,12/24),17/24) A時間=B1-A1-B時間

回答No.1

確かにセルの計算式のみで行う場合は、1つのセルだけで計算しようとすると複雑になります。この場合は時間帯を3つの列に分けて計算してはいかがでしょうか? 6:00~12:00の間は900円(A時間帯) 12:00~17:00の間は800円(B時間帯) 17:00~20:00の間は900円(C時間帯) 1日の勤務開始及び終了時刻を記入しているのであれば、それぞれの時間帯を勤務時間を条件設定して、列毎に時間と時給合計を計算して、それを合計するのはどうでしょうか? この方法なら条件式もそれほど複雑にならなくて済みます。 他にはVBAを使うことも考えられますが、VBAの知識がないとできないのでここでは省略します。

関連するQ&A

  • エクセルで時間計算

    エクセルで時間計算をしているのですが A1セルに開始時刻  B1セルに終了時刻  C1セルは作業時間   9:00         4:00           7:00 このような表を作っています 「C1」には(B1+12:00)マイナス「A1」と数式があるのですが 「B1」に入る時刻が午後でなく午前11:00だと 「C1」の数式のままでは (11:00+12:00)- 9:00 で 14:00 となってしまいます 「B1」には24時間形式で午後4:00を16:00と入力すればよいのですが 24時間形式を使わず9:00マイナス4:00を正しく計算するには どのような数式にすればよいのでしょうか IF文を使うのかなとも思うのですが 見当がつきません。宜しくお願いいたします。

  • エクセルの時間計算について

    エクセルで時間の計算をしたいのですが、うまくできず困っています。 A列には 1315、747、など3~4桁の数値が、B列にも 1532、916など同じく3~4桁の数値が入っています。これはそれぞれ 13:15、7:47、15:32、9:16のように時刻を表しており、A列は活動開始時刻、B列は活動終了時刻となっています。 C列には「TEXT(A2,"0!:00")-TEXT(B2,"0!:00")」という数式を入力し、実質活動時間を計算しています。 このようなデータが約9000行あります。C列の活動時間を合計して、時間数を出したいのですが、どのような計算式を用いればよいでしょうか?SUMでは出ないようですので・・・ ややこしいですが、お知恵をお貸し下さい。よろしくお願いします。

  • エクセルで時間の引き算をするには

    お世話になっております。 エクセルでの時間の計算について教えてください。 開始日と終了日と開始時刻と終了時刻が4つのセルに分かれています。それらを使って勤務時間をだしたいのですが、どうしたらいいのでしょうか。 開始日=セルA、終了日=セルB、開始時刻=セルC、終了時刻=セルDとします。これらを使って勤務時間を計算し、時給=セルEを掛け合わせ給料をセルFに出したいのですが、どうやってエクセルにセルAとセルCを2つ認識させ、その上セルBとセルDを引いて勤務時間をだせばいいのでしょうか? (問題のエクセルです↓) セルA セルB セルC  セルD   セルE  セルF 7-Feb-07 7-Feb-07 0:03:12 8:00:00 $22.40 5-Feb-07 6-Feb-07 15:45:47 13:38:43 $9.79 7-Feb-07 9-Feb-07 8:33:46 23:26:24 $17.45 8-Feb-07 8-Feb-07 8:10:30 23:59:51 $21.99 7-Feb-07 8-Feb-07 20:30:23 21:02:25 $14.75 7-Feb-07 9-Feb-07 18:39:50 21:20:00 $13.45 6-Feb-07 6-Feb-07 1:03:42 20:58:34 $21.99 どうぞよろしくお願いいたします。

  • エクセルでの時間計算について

    時間計算について質問です。 図のような仕事上にかけた時間の計算をしたいのですが。終了時刻と休憩時刻で空白のセルがあるとマイナスになってしまします。 計算としてはC行の終了時刻からB列の開始時間を引き、休憩があればさらにマイナスで計算してみています。 終了時刻と休憩時刻で空白のセルがあるときには計算をせずすべてのセルが埋まったら計算結果を表示することは可能でしょうか? 現在ですと合計時間のところでマイナスになってしまい、すべて入力 がされていないと正確な数値になりません。 作業時間はその後の計算の都合上時間表示ではなく数字として表示させています。

  • Excelで、15分単位での時給計算が正しく表示できない

    お世話になります。 15分単位での時給計算を行いたいのですが、15分きっかりの時だけ 下記計算式で出てくる数値が0.25にならず、0.00になってしまいます。 例) 時給千円で、17:00から18:15まで業務したとして、 A1に開始時間、B1に終了時間、C1に勤務時間、 D1に15分単位の値を表示させます。 C1はB1-A1(セルの書式は時刻に設定)、 D1の計算式は =FLOOR(C1,"00:15:00")/"1:00" にしています。 上記勤務時間の場合、D1に1.25と出てほしいのですが 1.00になってしまいます。 15分きっかりの場合でも、0.25と表示させる計算式あるいは 設定をお教えいただけたらと思います。

  • EXCELの時間計算

    セルA1に、「9:43:20」と時刻が入力されています。 セルB1に、「3.2」と時間(分)が入力されています。 セルC3には、A1の時刻から,B1の時間が経過した後の時刻を 表示させたいです。 ※B1の「3.2」を3.2分(3分12秒)として計算したいです。 C3の計算式を教えてください。 ※計算した結果の時刻は,9:46:32です

  • Excel:勤務時間の計算がうまくいかない。

    No.1468024の質問をした者です。 勤務表を作成しています。(Excel2002を使用) 終了時刻(D列)ー開始時刻(C列)ー休憩時間(E列)=当日の勤務時間を計算しています。 No.1468024の質問でアドバイスをいただき、以下のような計算式を記述しました。 <例> =AND(C13*D13)*(MIN(IF(AND(D13>="12:00"*1,D13<="13:00"*1),"13:00",D13),"17:40")-MAX(IF(AND(C13>="12:00"*1,C13<="13:00"*1),"12:00",C13),"09:00")-E13+FLOOR(MAX(D13,"18:00")-"17:59:59","0:15")) ほぼうまくいくのですが、開始時刻9:00終了時刻12:00とした場合、勤務時間4:00となり、間違ってしまいます。(正しくは勤務時間3:00。また開始時刻9:00終了時刻が12時から13時までの間の時刻で入力された場合も勤務時間3:00と出力したいです。) 休憩時間セルに以下のような計算式を書いています。 <例> =IF(COUNT(C13:D13)<2,0,IF(D13-"12:00"*1<=0,0,IF(C13-"12:00"*1>=0,0,IF(D13<"18:00"*1,"1:00","1:20")))) 休憩時間は12時から13時までの1時間。 終了時刻が17:40以降なら20分休憩時間が加算されます。 開始、終了が入力されていないと0:00表示。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお願いします。

  • EXCELでの時間計算(休憩時間の差引)について

    パートさんの遅刻・早退・外出時間を自動計算する表を作っていますがうまく作れません・・・ 下記の場合どうしたらよいでしょうか? 例えば遅刻の合計時間を算出するのに開始時刻から終了時刻を引き算しますが 10:20~10:30、 12:00~12:40、 14:50~15:00、は休憩時間なので自動的 に差し引きたいと考えています。 遅刻の時間内に、休憩時間である10:20~10:30が含まれれば10、 12:00~12:40が含まれれば40、14:50~15:00が含まれれば10を引くという感じです。 どのような計算式にすればよいのでしょうか? ちなみに勤務時間は8:30~17:00です。 例えば、 (例)セル【B2】8:30(開始)セル【B3】13:00(終了)の場合、セル【B4】には50分を差引いた 3:40の合計時間を算出したいです。 色々調べて、B4に以下の式を入力してみましたが、どうもうまくいきません。 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:40",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) どうぞ宜しくお願いいたします。

  • Excel で作業時間を自動計算

    過去の投稿を検索したのですが見つからなかったので質問します。Excel 2000で作業時間を自動計算させるという単純な処理です。 B1に開始時刻(8:15など)、C1に終了時刻(16:45など)を入力すると、D1にその時間が自動で入力されるようにするには、どういう関数をどう使えばよいのでしょうか。ただし、休憩時間は考える必要はありません。

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

    こんにちは。 エクセルで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進法がいまいち理解できてないので、始末が悪いです・・・。 単純に数字を足せばよいというわけにはいかないのですよね・・・。 どなたか親切な方、サルでもわかるように教えてください。 お願いします。

専門家に質問してみよう