お世話になります。色々と調べて見ましたが分からなかったので質問します。
今、勤務管理表を作成しています。労働条件は下記の通りです。
 ◆定時:9:30から17:30 ◆休憩時間:12:00~13:00
 ◆遅刻した場合でも勤務時間が休憩の時間をまたいだときは必ず、12時から13時までとります。

遅刻したり、早退した場合、その時間によって、実労働時間が変わります。
例えば、12:53に出勤⇒13:59に退社したときは実労働時間は59分です。(休憩時間を考慮する)
また9:30よりも早く出勤しても特に手当てはつかず、9:30出勤とみなします。

この場合、下図の「出勤時間」、「退社時間」を入力すると、「休憩時間」と「実労働時間」が
自動的に出したいのですが、どの様な数式を使えばいいのでしょうか。
列を増やす事はOKです。よろしくお願い致します。


   

「エクセル不変則な休憩時間の実労働時間計算」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ゾーンに切ってそれぞれの時間数を数えることで,同じ数式で計算できます。



添付図:
C2:
=MAX(MIN("12:0",B2),"9:30")-MIN("12:0",MAX("9:30",A2))
D2:
=MAX(MIN("17:30:0",B2),"13:00")-MIN("17:30",MAX("13:00",A2))
E2:
=MAX(MIN("22:00:0",B2),"17:30")-MIN("22:00",MAX("17:30",A2))
必要に応じて更に「深残帯(22時以降)」を計算する事も勿論できます。


F2:
=B2-A2
G2:
=SUM(C2:E2)
H2:
=F2-SUM(C2:E2)

9:30前の出社を「ノーカウント」とした辻褄として,H3で「休憩時間」に算定されている様子が示されています。
「エクセル不変則な休憩時間の実労働時間計算」の回答画像2

この回答への補足

keithin様

図解まで頂き、ありがとうございます!!
一度、午前と午後で区切って計算式をたてたのですが、うまくいかず。。。
回答を拝見して大変勉強になりました。

ただ、C2の計算式で"12:0"とD2の計算式で"17:30:0"と記載されていますが、
これは何か理由があるのでしょうか。

すみませんがご指導お願いします。

補足日時:2011/04/14 23:50
    • good
    • 2

C2セルには次の式を入力して下方にオートフィルドラッグします。



=IF(COUNT(A2:B2)<>2,"",IF(B2>"12:00"*1,MIN(B2,"13:00")-MAX(A2,"12:00"),0))

D2セルには次の式を入力して下方にオートフィルドラッグしまう。

=IF(COUNT(A2:B2)<>2,"",B2-C2-MAX(A2,"9:30"))

なお、C列およびD列のセルの表示形式は時刻にします。
MAX(A2,"9:00")は9時30分より早く来たときは9時30分のシリアル値よりも小さくなりますので9時30分が計算に使われますし、9時30分よりも遅く出勤した場合には出勤した時刻が計算に使われることになります。
勤務時間の計算ではMINやMAX関数がよく使われます。意味を理解して使うようにすると便利ですね。

この回答への補足

KURUMITO様
おはようございます、回答を頂きましてありがとうございます!!
質問は締め切ってしまいますが、大変助かりました!!
min関数、MAX関数をもっと勉強します。。。

補足日時:2011/04/15 07:58
    • good
    • 0

ん? 失礼しました。

単純な編集ミスです。17:30も17:30:0も同じ17時30分(0秒)なので,計算には影響しません。

隣のセルの式を単純にコピーして,12を17:30にとか17:30を22:00に手直しして作成したので,ミスりました。

この回答への補足

keithin様
おはようございます。

あっ、よかったです。何か省略の意味なのかなぁと思い、考えていました。
図も載せて頂き、時間がかかりましたよね、お手数おかけいたしました。

この数式でやってみます!!!
本当にありがとうございました!助かりました!

補足日時:2011/04/15 08:02
    • good
    • 0

C2に



=IF(A2>TIME(13,0,0),0,IF(A2>TIME(12,0,0),TIME(13,0,0)-A2,IF(B2<TIME(12,0,0),0,IF(B2<TIME(13,0,0),B2-TIME(12,0,0),TIME(1,0,0)))))



D2に

=IF(A2<TIME(9,30,0),B2-TIME(9,0,0)-C2,B2-A2-C2)

として両方とも必要なだけ下にフィルすればいかがでしょう。

この回答への補足

kmetu様
ご回答を頂き、ありがとうございます!!
今、頑張って回答を頂いた数式を確認しています。
時間計算は難しいですね…

補足日時:2011/04/14 23:43
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Q複数の休憩時間がある場合の休憩時間の算出方法

Excel で勤務表を作っていますが、
休憩時間が複数ある場合の休憩時間の算出方法が分かりません。

D5 10:00 (出勤時刻)
E5 19:00 (退勤時刻)
F5 休憩時間
H5 =E5-D5-F5 (実稼働時間)

D6 12:00 (出勤時刻)
E6 22:00 (退勤時刻)
F6 休憩時間
H6 =E6-D6-F6 (実稼働時間)

休憩時間1
D38 12:00 (休憩開始時刻)
E38 13:00 (休憩終了時刻)
F38 1:00 (休憩時間1のトータル)

休憩時間2
D39 17:15 (休憩開始時刻)
E39 17:30 (休憩終了時刻)
F39 0:15 (休憩時間2のトータル)

休憩時間2の休憩時間帯が変わってもカスタマイズできるように
(休憩時間3、4、5と実際にはあります)
D38,D39,E38,E39は使わず
F38とF39を使って、F5、F6セルに、休憩時間を算出したいです。

また、13時以降の出社の場合は、12時から13時の休憩時間を含めないようにもしたいです。

どんな関数を用いれば実現可能でしょうか?
アドバイスよろしくお願い致します。

Excel で勤務表を作っていますが、
休憩時間が複数ある場合の休憩時間の算出方法が分かりません。

D5 10:00 (出勤時刻)
E5 19:00 (退勤時刻)
F5 休憩時間
H5 =E5-D5-F5 (実稼働時間)

D6 12:00 (出勤時刻)
E6 22:00 (退勤時刻)
F6 休憩時間
H6 =E6-D6-F6 (実稼働時間)

休憩時間1
D38 12:00 (休憩開始時刻)
E38 13:00 (休憩終了時刻)
F38 1:00 (休憩時間1のトータル)

休憩時間2
D39 17:15 (休憩開始時刻)
E39 17:30 (休憩終了時刻)
F39 0:15 (休憩時間2のトータル)

休憩時間2の休憩時間帯が変わってもカスタマ...続きを読む

Aベストアンサー

>休憩3、休憩4、休憩5、休憩6まである場合は、関数はどう変更すればいいですか?
始めにSUM関数の引数に不備がありましたので訂正します。
序に、出勤時刻と退勤時刻が未入力のとき空欄とするためのIF関数を追加しました。
=IF(COUNT(D5:E5)=2,SUM(MIN(MAX(E5,$D$38),$E$38)-MAX(MIN(D5,$E$38),$D$38),MIN(MAX(E5,$D$39),$E$39)-MAX(MIN(D5,$E$39),$D$39),MIN(MAX(E5,$D$40),$E$40)-MAX(MIN(D5,$E$40),$D$40),MIN(MAX(E5,$D$41),$E$41)-MAX(MIN(D5,$E$41),$D$41),MIN(MAX(E5,$D$42),$E$42)-MAX(MIN(D5,$E$42),$D$42),MIN(MAX(E5,$D$43),$E$43)-MAX(MIN(D5,$E$43),$D$43)),"")
SUM関数の内容を確認してください。
第1引数(休憩1) MIN(MAX(E5,$D$38),$E$38)-MAX(MIN(D5,$E$38),$D$38)
第2引数(休憩2) MIN(MAX(E5,$D$39),$E$39)-MAX(MIN(D5,$E$39),$D$39)
     ・
     ・
     ・
第6引数(休憩6) MIN(MAX(E5,$D$43),$E$43)-MAX(MIN(D5,$E$43),$D$43)
各引数は休憩時間帯を定義した行を参照しますがMAX関数とMIN関数およびセルの列記号は同じパターンになっています。
応用力で指定された休憩時間帯を増減できますので実情に合わせて変更すると良いでしょう。
これはExcelの関数を利用してどのような論理で計算するかの応用問題です。
数学が不得手の方には難しいかも知れません。

>休憩3、休憩4、休憩5、休憩6まである場合は、関数はどう変更すればいいですか?
始めにSUM関数の引数に不備がありましたので訂正します。
序に、出勤時刻と退勤時刻が未入力のとき空欄とするためのIF関数を追加しました。
=IF(COUNT(D5:E5)=2,SUM(MIN(MAX(E5,$D$38),$E$38)-MAX(MIN(D5,$E$38),$D$38),MIN(MAX(E5,$D$39),$E$39)-MAX(MIN(D5,$E$39),$D$39),MIN(MAX(E5,$D$40),$E$40)-MAX(MIN(D5,$E$40),$D$40),MIN(MAX(E5,$D$41),$E$41)-MAX(MIN(D5,$E$41),$D$41),MIN(MAX(E5,$D$42),$E$42)-MAX(MIN(D5,$E$42),$D$4...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q休憩時間の計算

パートの方の給与計算で休憩時間の計算式がうまくいきません
タイムカードどおりの時間をエクセルの表に入力して自動計算させようと思っているのですが、
例①:入18:17 出18:22 0:05
例②:入21:55 出22:05 0:10
例③:入22:28 出22:38 0:10
こんな感じの休憩のとり方です、22:00を過ぎた場合は時給額が変わりますので特に難しく
よろしくお願いします。

Aベストアンサー

A~Fは入力でG~Jを自動計算したい。というわけですね。
そして休憩は2回あると。

休憩は必ず2回あるのでしょうか?
22時より前に2回とか、22時より後に2回とかのパターンもあるのでしょうか?
(まぁこれらは空白でも0と計算されると思いますので、問題ないかと)
あと24時以降の場合計算がおかしくなる可能性もあります。仮に0:10の場合、24:10と入力すればおそらく大丈夫かと。
24時越えの可能性も分からないのでそのままにしてますが、必要があれば対処します。
同様に24時越えてからの出勤(早出含む)も考慮していません。
これについては何時からが通常勤務か分かりませんので、必要であるならその情報も合わせてお願いします。
また入力ミスにより、勤務時間外に休憩時間をとっている場合や、休憩時間の①②が重複している場合、入力が抜けている場合、出勤時間より退勤時間の方が早い場合、等についても正確に入力されているものとして計算されてしまいますので、そちらのミスについても判定が必要であるならば、入力が適切であるか判定する用にK列等で別途式を作るのがよろしいかと思います。

とりあえずやってみましょう。
G1:22時までの休憩時間
まずD1(①終了)が22時以前かどうか判断し、以前ならC1~D1の時間を計上、D1が22時越えの場合、C1(①開始)が22時以降かどうか判断し、以降なら0を計上、22時より前ならC1~22時の時間を計上。
同様にF1(②終了)とE1(②開始)でも判断し計上。
これらを合計したものをG1に表示する。
=IF(D1>22/24,IF(C1<22/24,22/24-C1,0),D1-C1)+IF(F1>22/24,IF(E1<22/24,22/24-E1,0),F1-E1)

H1:22時までの勤務時間(休憩時間を除く)
B1(退勤)が22時以前の場合、A1~B1の時間を計上。B1が22時越えの場合、A1(出勤)も22時以降の場合、0を計上。A1は22時より前の場合、A1~22時の時間を計上。
これから休憩時間=G1を除いたものをH1に表示する。
=IF(B1>22/24,IF(A1<22/24,22/24-A1,0),B1-A1)-G1

I1:22時以降の休憩時間
まずC1(①開始)が22時以降かどうか判断し、以降ならC1~D1の時間を計上、C1が22時より前の場合、D1(①終了)が22時以前かどうか判断し、以前なら0を計上、22時より後なら22時~D1の時間を計上。
同様にE1(②開始)とF1(②終了)でも判断し計上。
これらを合計したものをI1に表示する。
=IF(C1<22/24,IF(D1>22/24,D1-22/24,0),D1-C1)+IF(E1<22/24,IF(F1>22/24,F1-22/24,0),F1-E1)

J1:22時以降の勤務時間(休憩時間を除く)
A1(出勤)が22時以降の場合、A1~B1の時間を計上。A1が22時より前の場合、B1(退勤)も22時以前の場合、0を計上。B1は22時より後の場合、22時~B1の時間を計上。
これから休憩時間=I1を除いたものをJ1に表示する。
=IF(A1<22/24,IF(B1>22/24,B1-22/24,0),B1-A1)-I1

これらを必要な行数分コピーしてください。
ざっと作ったので実際にデータを入力して、ミスが無いか確かめてもらえればと思います。

A~Fは入力でG~Jを自動計算したい。というわけですね。
そして休憩は2回あると。

休憩は必ず2回あるのでしょうか?
22時より前に2回とか、22時より後に2回とかのパターンもあるのでしょうか?
(まぁこれらは空白でも0と計算されると思いますので、問題ないかと)
あと24時以降の場合計算がおかしくなる可能性もあります。仮に0:10の場合、24:10と入力すればおそらく大丈夫かと。
24時越えの可能性も分からないのでそのままにしてますが、必要があれば対処します。
同様に24時越えてからの出勤(早出含む)も考慮...続きを読む

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q【エクセル】休憩時間をマイナスし、実働時間の計算

社員のタイムカードをエクセルに打ち込んで管理することになりました。
(お給料にかかわるものではなく、統計目的です。)
上司から「何時に出社し、何時に帰社し、実働何時間かをひと目でわかるようにお願いね。」と言われたのですが…その「実働時間」で悩んでいます。
タイムカードをつけている社員は皆、出来高制での契約の人たちのため、出社時間も帰社時間もバラバラです。5分単位で記録します。定められた休憩時間は10時から15分、お昼に45分、15時から15分です。(この時間は必ず休憩としてカウントするため、例えば9時50分に出社してきた社員も、10時からの15分間は休憩としてカウントしなくてはなりません。)
以上のことを考慮して表を作ると…実働時間を計算するのが難しくて…。問題は、この定められた休憩時間にその社員が出社していたか否かで休憩時間が違ってくる点です。お昼を挟まないことは滅多に無いので、それは例外として個々に処理しても良いのですが、10時と15時が大問題なのです。一人一人計算すれば済む話ではあるのですが、これから半年前まで遡って入力を始めるので出来れば出社・帰社時間を入力するだけで実働時間が表示されるように入力フォームを作りたいと思っています。

名前 09 50 16 00 実働時間
名前 11 00 18 30 実働時間

このような表が理想です。一列で9:50とせず、二列使って09 50としたいのです。なにか上手い方法は無いでしょうか?朝から考えているのですがいい方法が思いつきません…
長くなりましたが上手く説明出来ているか不安です。
不明な点は補足します。よろしくお願いします。

社員のタイムカードをエクセルに打ち込んで管理することになりました。
(お給料にかかわるものではなく、統計目的です。)
上司から「何時に出社し、何時に帰社し、実働何時間かをひと目でわかるようにお願いね。」と言われたのですが…その「実働時間」で悩んでいます。
タイムカードをつけている社員は皆、出来高制での契約の人たちのため、出社時間も帰社時間もバラバラです。5分単位で記録します。定められた休憩時間は10時から15分、お昼に45分、15時から15分です。(この時間は必ず休憩としてカウントする...続きを読む

Aベストアンサー

名前をA列、出社時間(時)をB列、出社時間(分)をC列、退社時間(時)をD列、退社時間(分)をE列、実働時間をF列に求めると仮定した場合

F1セルに=TIME(D1,E1,0)-TIME(B1,C1,0)-IF(AND(TIME(B1,C1,0)<=TIME(10,0,0),TIME(D1,E1,0)>=TIME(10,0,0)),TIME(0,15,0),0)-IF(AND(TIME(B1,C1,0)<=TIME(12,0,0),TIME(D1,E1,0)>=TIME(12,0,0)),TIME(0,45,0),0)-IF(AND(TIME(B1,C1,0)<=TIME(15,0,0),TIME(D1,E1,0)>=TIME(15,0,0)),TIME(0,15,0),0)

を入力し、下方向へコピーして下さい。

ただ、少し条件があります。まず、出社時間、退社時間とも数値として入力されていること、休憩時間中の出社、退社が無いことです。

もしよければ、一度試してみてください

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Q作業時間に休憩が2回入っての経過時間の出し方…教えて下さい。

A1に出社時間 8:30 B1に休憩開始時間 12:00 C1に休憩終了時間時間 13:00
D1に退社時間 17:30 の場合は 実務合計時間 E1=D1-A1-(C1-B1)
この数式で分かるのですが 休憩時間が 12:00~12:50 15:00~15:10と2回の場合の
実務時間の数式がうまく出来ません。また、このやり方が正しいのかも分かりません。
数字が苦手なもので、得意な人からみれば「こんな簡単な数式もわからないのか?」と
思う方もいらっしゃるとおもいますが…よろしくお願いします。

Aベストアンサー

2回の休憩の開始時刻、終了時刻をどのセルに入れているのでしょうか。
(実労時間)=(終業時刻のセル)-(始業時刻のセル)-((1回目の休憩終了時刻のセル)-(1回目の休憩開始時刻のセル))-((2回目の休憩終了時刻のセル)-(2回目の休憩開始時刻のセル))

(実労時間)=(終業時刻のセル)-(始業時刻のセル)-(1回目の休憩終了時刻のセル)+(1回目の休憩開始時刻のセル)-(2回目の休憩終了時刻のセル)+(2回目の休憩開始時刻のセル)

(実労時間)=(終業時刻のセル)+(1回目の休憩開始時刻のセル)+(2回目の休憩開始時刻のセル)-(始業時刻のセル)-(1回目の休憩終了時刻のセル)-(2回目の休憩終了時刻のセル)

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Q休憩時間がある場合の時間計算

経営時間は9時から22時までです。
17時から時給が変更になります。
休憩時間はそれぞれとる時間帯が違います。
素人なりに色々勉強して下記の式までは作ったのですが、

題:E21出勤時間・F21休憩開始時間・O21休憩終了時間・P21退社時間
22行目より日々の勤務時間を入力します。

<前半の勤務状態を集計します>
・17時までの勤務時間
G22 =IF(ISERROR(MIN("17:00",F22)-E22),"",MIN("17:00",F22)-E22)
・17時以降の勤務時間
H22 =IF(ISERROR(MAX("17:00",F22)-"17:00"),"",MAX("17:00",F22)-"17:00")

<後半の勤務時間を集計します>
・17時までの勤務時間
Q22 =IF(ISERROR(MIN("17:00",P22)-O22),"",MIN("17:00",P22)-O22)
・17時以降の勤務時間
R22 =IF(ISERROR(MAX("17:00",P22)-O22),"",MAX("17:00",P22)-O22)

上記内容ですと、17時をすぎてからの出社の場合###がでてしまいます。
また、18時から19時の出勤の場合、
17時以降の勤務時間が1時間ではなく、2時間となってしまいます。
マクロはわからないので、関数でつくりたいのですが、どうしてもうまくできません。
前半、後半、1日の計をそれぞれ17時前と、後で集計し、1ヶ月の集計もおこないたいと思っています。
本当に素人ですので、わかりやすくご説明お願い致します。

経営時間は9時から22時までです。
17時から時給が変更になります。
休憩時間はそれぞれとる時間帯が違います。
素人なりに色々勉強して下記の式までは作ったのですが、

題:E21出勤時間・F21休憩開始時間・O21休憩終了時間・P21退社時間
22行目より日々の勤務時間を入力します。

<前半の勤務状態を集計します>
・17時までの勤務時間
G22 =IF(ISERROR(MIN("17:00",F22)-E22),"",MIN("17:00",F22)-E22)
・17時以降の勤務時間
H22 =IF(ISERROR(MAX("17:00",F22)-"17:...続きを読む

Aベストアンサー

G22セルには次の式を入力します。
=IF(OR($E22="",$P22=""),0,MAX(MIN("17:00",$P22)-MAX($E22,"9:00"),0))-IF(OR($O22="",$F22=""),0,MAX(MIN($O22,"17:00")-MAX($F22,"9:00"),0))
この式は17:00までの勤務時間の計算で休憩時間を差し引いたものです。

H22セルには次の式を入力します。
=IF(OR($E22="",$P22=""),0,MAX(MIN("22:00",$P22)-MAX($E22,"17:00"),0))-IF(OR($O22="",$F22=""),0,MAX(MIN($O22,"22:00")-MAX($F22,"17:00"),0))
この式は17:00以降で22:00までの勤務時間の計算で休憩時間を差し引いたものです。

したがってQ列やR列は必要ないでしょう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング