Excel2007で土日祝17時以降の勤務時間表示

このQ&Aのポイント
  • Excel2007を使用して、土日祝日の17時以降の勤務時間を表示する方法について教えてください。
  • 土日祝日の勤務時間のみを表示させ、最後にその時間の合計を求める方法について教えてください。
  • Excel2007のP列にある17時以降の勤務時間を土日祝日のみ表示し、その合計時間をセルP34に表示させたいです。
回答を見る
  • ベストアンサー

Excel2007で土日祝17時以降の勤務時間表示

タイムカードの計算をしています。 土日祝の17時以降の勤務時間のみを表示させ、最後にその時間の合計を表示させたいです。 日付と曜日のB列、C列は別シートのカレンダーから参照させており、 カレンダーシートのB4に =IF(MONTH(A4)>$D$1,"",A4) ※A4には年月日が、D1には月が入っています。 カレンダーシートの曜日は =IF(B4="","",CHOOSE(WEEKDAY(B4,1),"日","月","火","水","木","金","土")) と入力しています。 また、カレンダーシートは年月を変えると祝日や曜日が変わるようにしており、 それらの曜日や日付けで条件付き書式を設定し文字色が変わるようにしています。 祝日は「祝日」シートで各年毎に「祝日11」等と設定しています。 で、本題ですがP列の17時以降の勤務時間を土日祝のみ表示させ、 その合計時間をP34に表示させたいのです。 分かりにくいかもしれませんが、ご教授お願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

基本的にやりたいことは >P列の17時以降の勤務時間を土日祝のみ表示させたい >合計時間をP34に表示させたい の2点ですが,これは既に出来ている >それらの曜日や日付けで条件付き書式を設定し文字色が変わるようにしています。 を少し応用するだけで,計算できます。 P3セルの式の基本的な考え方: =IF(OR(3行目が土曜日である,日曜日である,祝日である),今できているPの式,"") P34セルの基本的な考え方: =SUM(P3:P33) 条件付き書式の数式は恐らく =OR(D3="土",D3="日",COUNTIF(祝日一覧,当該の日付のセル)=1) などのように仕込んでるんじゃないかな?と推測しますが,そのまんま利用して =IF(OR(D3="土",D3="日",COUNTIF(祝日一覧,当該の日付のセル)=1),今できているPの式,"") などのようになります。 P列に土日祝だけ時間数の計算を出せれば,合計のセルは単純にSUMするだけで計算できます。 その際,セルの書式設定の表示形式はユーザー定義で [h]:mm などのように設定しておきます。

narayuni
質問者

お礼

ありがとうございます!!!!!!!!! お陰さまで出来ました!! 結果の式は以下です。 =IF(OR(C3="土",C3="日",COUNTIF(祝日11,B3)=1), IF(OR(H3=0,K3<=$R$3),0, IF($R$3<=H3,K3-H3, IF($R$3<=CEILING(J3,"0:15"),K3-CEILING(J3,"0:15"),K3-$R$3) )),"") 上記の内、$R$3のセルは17:00とわざわざセルを用意して参照して計算しているのですが、もしかして式の中に入れたりできるのでしょうか? ちなみに条件付き書式の色付けですが、 土曜日は、=WEEKDAY($B3)=7で青色に 日祝は、=OR(WEEKDAY($B3)=1,COUNTIF(祝日11,$B3))で赤色にしています。 年度が変わる度に変更が必要なのが多少面倒なんですが、一年に一回の作業だからいいかな? いやー本当に助かりました。ありがとうございました!

narayuni
質問者

補足

あ、ちょっと分かりにくいですね。 H列=出勤時間 I列=休憩入時間 J列=休憩終時間 K列=退勤時間 B列=日付 C列=曜日です。

関連するQ&A

  • エクセル 平日と土日祝の時間計算表示

    下記のようなエクセルを作りたいのですが、 祝日の7月15日の土日祝残業が、平日の方に表示されてしまいます。 休日表は、別シートでSeet2のB2~E21に作成しています。 Aセルに、日付 Bセルに、始業時間 Cセルに、終業時間  Dセルに、休憩時間として、 Eセルに、実労時間  =C2-B2-D2 Fセルに、平日労働時間  =IF(OR(WEEKDAY(A2,2)>5,COUNTIF(sheet2!B$2:E$21,A2)),"",(E2)) Gセルに、土日祝労働時間  =IF((F2<>""),"",(E2)) Hセルに、平日残業時間  =IF(OR(WEEKDAY(A2,2)>5,COUNTIF(sheet2!$B$2:$E$2,A2)),"",(E2-TIME(8,0,0))) Iセルに、土日祝残業時間  =IF(OR(WEEKDAY(A2,2)<6,COUNTIF(sheet2!$B$2:$E$2,A2)),"",(E2-TIME(8,0,0))) を入れてみたのですが・・・ 祝日の残業時間のところがうまく表示されません。 (WEEKDAY(A2,2)<6 から COUNTIF(sheet2!$B$2:$E$2,A2) 除いた日を""にすれば よいのかなぁと試行錯誤しましたがうまくできませんでした。 そのような式を教えて頂けますか? もしくは他に適切な式があったら教えてください。 宜しくお願い申し上げます。

  • 土日祝を自動で赤字表示する方法

    先程、Excelで日付・曜日を自動で表示させる方法を質問したのですが、 本当に何度もすみません、これが最後です。 土日祝にあたる日付と曜日を赤字で表示させなければいけないのですが 手で毎回赤字に変更するのは、大変面倒なので、 出来ればこれも自動でできないものかと思うのですが・・。 具体的には以下の通りです。 現在、Excelで以下を表示させています --------------------------- A1セル:年 A2セル:月 A3セル~A33セル:日付 B3セル~B33セル:曜日 --------------------------- A1セルは、年号を手入力 A2セルも、月を手入力 A3セル~A33セルは、以下の式を入力し、日付を自動表示 =IF(MONTH(DATE($A$1,$A$2,ROW()-2))=$A$2,TEXT(DATE($A$1,$A$2,ROW()-2),"m/d"),"") B3セル~B33セルは、以下の式を入力し、曜日を自動表示 =IF($A3<>"",MID("日月火水木金土",WEEKDAY($A3),1),"") 現在は、上記のような状態で、年月日と曜日を表示させているのですが、 土日祝を自動的に取得し、日付と曜日を赤字で表示されるようにする事は できますでしょうか? 祝日が無理なら土日だけでも赤字で自動表示させたいのですが・・。 よろしくお願いします。

  • 色つき行を非表示にしたい。

    お世話になっております。 エクセル(2007)で悩んでいます。 月ごとのカレンダーをつくっているのですが、 A列は日付、B列はWEEKDAY関数で曜日を入れてあります。 C列以降は備考欄にしています。 土日祝日は日付と曜日を色つきセルにして、わかりやすいようにしてるのですが、この色つきセルの行を非表示にしてしまいたいのですが、どのようなマクロが使用できるのでしょうか、ご教示ください。

  • エクセルで土日祝と水曜日を除く3日後の数値を表示させる方法はありますか

    一年間の営業サイクル日カレンダーを作成するにあたり、項目Aには土日祝日を除く3日後の日付を表示、項目Bには土日祝日と水曜日を除いた3日後の数字を表示させたいのですが、項目Aはhttp://www.relief.jp/itnote/archives/001105.php を参照し、作成できたのですが、水曜日を除く方法が見つからず、苦戦しております。 上記の祝日を除く方法のように、別シートで水曜日のみの日付を一つ一つ書き出してリンクさせるなどの方法もあるかと思いますが、もう少し簡単にできる方法などありませんでしょうか。 ちなみにExcel2003を使用しています。 お知恵を拝借できれば幸いです。 よろしくお願いします。

  • Excel2010 土日祝に出勤した日数を計算

    教えてください。 今、月毎の勤務表があります。A列には別セルの年月を参照して、日(曜日)が1日~31日(日数は月毎に変わります。)B列以降には勤務した場合に〇を入力します。ただし勤務の場所が4か所あるので、勤務場所ごとに一人で4列使用します。それが8人用用意されています。表にすると次のようです。 同じ勤務地にはダブって勤務することはないので、1(金)の例ではA氏がB地に勤務すると、B氏他はそれ以外の勤務地になります。教えてほしいのは、このような勤務状態の土日祝の勤務日数を、勤務者ごとに知りたいのです。尚、祝日は別シートに一覧として記載しております。 下表は位置合わせのスペースは無視されて詰まってしまうので―で位置合わせしているもので質問に対する意味はありません。 -----|-----A氏------|-----B氏-----| ~ -------a地--b地--c地--d地--a地--b地--c地--d地 列→-- A--B---C---D---E---F---G---H---I~ ---1(金)-----〇----------〇 ---2(土)--〇---------------- 〇 ---3(日)---------〇------------------〇 -祝日4(月)-------------〇----------〇 ---5(火)-----〇------------------〇 ---以下省略 以上よろしくお願いします。

  • 土日祝以外1で表す

    B2から下に、2005/4/18から1日ずつ増えて2005/12/31まで入力されています。 別シートにshukujitsuという名前をつけた祝日が入力されています。 C2から下は、左隣の日付が土日祝日以外なら1を表示する数式を入れたいのですが、 どういう数式を入れたらいいでしょうか?

  • Excel2007 土日を除く1ヵ月分をまとめて印刷

    お世話になります。 VBは初心者の為、お教え下さい。 出欠席を毎日チェックするため、日付のみ変えて印刷するsheet1があります。 コマンドボタンを作り Private Sub CommandButton1_Click() Cells(3, 1).Value = DateAdd("d", 1, Cells(3, 1).Value) End Sub と記述し、1回ずつクリックして日付を変更して印刷してますが 土日も表示されるため(1日ずつ増やしてるので当たり前なのですが) 印刷ミスが多くまた祝日も印刷してしまうケースが多いです。 調べたところ、別sheetにカレンダー表を作成し、A列に1月、B列に2月といった形に必要な日付分だけを入力しそれを参照させればよいようなのですが、よいお手本を検索することができず、記述の仕方がわかりません。見本になるようなサイトややり方をご教授頂けたら幸いです。 OfficeXP Excel2007 日付の変更したいsheet:sheet1 日付が入っているセル:sheet1のA3 カレンダーが入っているsheet:sheet2 補足がございましたらすぐに対応致します。 よろしくお願い致します。

  • エクセルで22時以降を平日・土日・研修に分けたい

    エクセルで出勤簿を作成しており、 色々と試行錯誤し、ここで色々教えて頂き、完成一歩手前までできたのですが、 最後に、深夜勤務の表示が、またまたうまく表示できません。。 お手数ですが教えて頂けると大変助かります。 研修設定もあり、通常平日、通常土日祝、研修平日、研修土日祝に、 振り分けて表示させたいのです。 祝日表は、別シートでSeet2のB2~E21に作成しています。 Aセルに、出勤時刻 Bセルに、退社時刻 Cセルに、休憩時間 Dセルに、日付 Dセルに、就労時間(=B-A-C) Eセルに、研修時間←直接入力 Fセルに、平日深夜時間 Gセルに、土日祝深夜時間 Hセルに、研修平日深夜時間 Iセルに、研修土日祝深夜時間 を表示させたいです。 Eの研修時間は、Dの就労時間の内数です。(基本的に研修者はEとDが同じ時間数) なので、 Eの研修時間数がある場合は、HセルとIセルに、22時以降時間数を反映させ、 Eの研修時間数がない(0:00で入力あり)場合は、FセルとGセルに反映させたいのです。 ※Eセルの研修がない場合はブランクでなく0:00としてます。ブランクにすると他のセルにエラーがでてしまうので0:00は変えられません。 試作では、下記のような式をいれているのですが、 Fセル=IF(OR(WEEKDAY(D2,2)>5,COUNTIF(sheet2!$B$2:$E$21,D2)),"",B2-TIME(22,0,0)-H2) Gセル=IF(OR(F2<>""),"",B2-TIME(22,0,0)-I2) Hセル=IF(OR(WEEKDAY(D2,2)>5,COUNTIF(sheet2!$B$2:$E$21,D2)),""B2-TIME(22,0,0)) Iセル=IF(OR(H2<>""),"",B2-TIME(22,0,0)) そうすると、深夜時間は全部、研修時間のHセルとIセルに反映してしまいます。。。そりゃそうですよね。。でもなおせません。。。 HセルとIセルの条件に、「Eセルが0:00なら、0:00」になるような条件を追加しなければいけないんだろうな・・とは思うのですが、よくわからず・・です。 ごちゃごちゃな説明ですみませんが、 本当に宜しくお願い申し上げます。

  • 土日祝を空白にする関数を教えてください

    エクセルの関数を使い、勤務管理表の始業時間を設定したいと思います。 月~金曜日までの始業時間を 8:00と入力し、土曜・日曜・祝日は空白にしたいです。 ちなみに土曜・日曜・祝日と曜日の色分けまでは、できました。 セルA1~A30に日付を入力して、B1~B30に始業時間とすると B1~B30に入力する関数はどのようなものになるのでしょうか? よろしくお願いします。

  • 勤務表の休暇振分表示

    社員の休日を自動的に振り分ける表を作成したい と思っているのですが・・うまくいきません。 A1セル2006/7/1を元にカレンダーを作成しています。 A列が日付、B列を曜日とし条件書式を組み合わせ、 行に土曜と祝日と日曜に色分けをし月が変われば表示しない 設定としています。月をかえたらその月のカレンダーに なるようにしています。 C・D列には条件書式を反映しています。 仕事をしたらB列を元に条件に合うD列のセル(曜日行)に 担当者名を表示したいと思います。 担当者名には、番号をつけ、別の列に表示してあります。 C列には担当に値する番号を入力し C列にB列(曜日列)が土・日・祝日ならばDセルには何も 表示しない。 B列が月から木ならそれぞれ翌日の曜日のDセルに担当者名を 表示する。 (例えば7月3日(月)の場合C列にAと入力すると7月4日 の行のDセルにAに値する担当者名を表示する) ただし、金なら翌週の月の行のDセルに担当者名を表示する。 どうかお力をお貸しください! 急いでいます。よろしくお願いします。

専門家に質問してみよう