• ベストアンサー

エクセルで勤務表の作成

いつもお世話になっております。 今回は、エクセルの勤務表の作り方について質問させて頂きました。 写真にも添付しているのですが、ベースはこのような形でしていきたいと考えています。 そこで、出勤と退社の時刻を社員自身に入力して貰う事になりました。 入力方法は (1)社員のIDを入力すると自分の欄に飛ぶ (2)その日の出勤と退社の時刻しか更新出来ない (3)その日までの1週間のデータを常に表示 を考えています。 しかし、この3つの設定の仕方が分かりません。 どれかでも方法を知っている方、是非ご教授お願いします。 ちなみにエクセルは2007を使用しています。 どうぞ宜しくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

(1)社員のIDを入力すると自分の欄に飛ぶ --->VBAの力を借りることになります。 (2)その日の出勤と退社の時刻しか更新出来ない --->その日にちによって、保護をかけたり、はずしたり?やはりVBA? (3)その日までの1週間のデータを常に表示 --->別途、データのみのシートに入力したら? 一案です、別途、入力とデータ用のシートを準備します。    A   B  C  D   E 1 2 3     日付 ID 出退勤  4   =Today()   出勤 5 6作業列  日付 ID 出退勤 時刻 7 8 適当な位置に ボタンを配置して Sub ボタン1_Click() Dim GYOU As Double GYOU = Range("B" & Rows.Count).End(xlUp).Row + 1 Range("A" & GYOU).Value = Range("B4").Value & Range("C4").Value & Range("D4").Value Range("B" & GYOU).Value = Range("B4").Value Range("C" & GYOU).Value = Range("C4").Value Range("D" & GYOU).Value = Range("D4").Value Range("E" & GYOU).Value = Time End Sub と云ったようなコードを実行させる。 操作方法は、 1、朝の時間は、 D4セルに出勤と入れておく 2、社員の方に、ID を入れてもらって、ボタンを押すと 自動で、日付、ID、出勤、時刻が入ります。 退勤の時間には、D4セルを 退勤にしておいて、朝と同様 作業列(A列)を検索するVlookup関数を写真のシートに 配置すれば、ご希望の表示が簡単にできます。

teruVn
質問者

お礼

回答ありがとうございます。 なかなかいい感じにできました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

(1) 社員さんの数が多くないなら、リンクを人数分、設置しておくのが手っ取り早いです。右クリックして「ハイパーリンク」をクリックから。検索してみてください。(入力するとジャンプみたいに仕込むにはVBA(マクロ)が必要。) シートの枚数が多いのでしょうから、リンクを用意してあげるなら、たぶん全てのシートから全てのシートに飛べるようにしておかないと、あまり意味がないでしょう。数が多いとたいへんなので、「複数シートの同時編集」とかで検索してみてください。 (2) シートを保護してください。その際にあらかじめ、入力を可能にするセルのみ「セルの書式設定」の「保護」タブで「ロック」のチェックを外しておいてから、シートを保護します。検索してみてください。 (3) C3、E3セルに次の式を入力。 M3 =o3-1 O3 =today() 次いで、M3セルをコピーし、C3、E3、G3、I3、K3セルに貼り付け。 以上で表示されているはずの日付をVLOOKUP関数の第1引数「検査値」として使用。各人が入力する表からVLOOKUPによりデータを拾ってきて、添付図の表に表示させる。検索してみてください。 以上ですが、せっかく皆さんに入力してもらうなら、各人でシートを分けないほうが、後ですぐにいろいろ使えて便利かもしれませんね。参考URLをご覧になってみてください。

参考URL:
http://okwave.jp/qa/q7483630.html
teruVn
質問者

お礼

回答ありがとうございます。 人が多いのでなかなかシートを作るのが難しく・・・ もう少し悩んでみます。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

ん? ご相談を出しなおすのは全然構いませんが、その際は前のご質問は放置せず、解決で閉じる操作を忘れずに行っておいてください。 >出勤と退社の時刻を社員自身に入力して貰う事になりました。 あなたが自分で使うんじゃなくしたのでしたら、次のように仕込みます。 1.あなたが作成した画像の通りの配置でエクセルを作成する   シート名はSheet1にする 2.ALT+F11を押す 3.現れた画面で挿入メニューから標準モジュールを挿入する 4.現れたシートに下記をコピー貼り付ける sub auto_open()  dim d as date  worksheets("Sheet1").select  application.screenupdating = false  activesheet.protect userinterfaceonly:=true  cells.locked = true  on error resume next  for d = range("O3")+1 to date   range("E:P").copy range("C1")   range("O3") = range("O3") + 1   range("O5:P9999").specialcells(xlcelltypeconstants).clearcontents  next d  range("O:P").locked = false  application.screenupdating = true end sub 5.ブックを名前を付けて保存で、ファイルの種類をマクロ有効形式にして保存し、閉じる 6.ブックを開くと、データが勝手に移動する。 #マクロのセキュリティについて下記を参考にします http://pasofaq.jp/office/excel/excel2007macro.htm >IDを入力すると自分の欄に あれもこれもと詰め込まれたご相談に全部回答する義務は無いので割愛しますが、わざわざIDを記入する手間の内に自分の名前を探して記入してもらった方が簡単です。ご相談で掲示された表にも、「IDを入れる欄」とか用意されていません。

teruVn
質問者

お礼

回答ありがとうございます。 早速試したのですが、なかなか思うようにならず・・・ もう少し悩んでみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで勤務表を作っています。

    エクセルで勤務表を作っています。 決まった曜日の決まった時間に出勤&退勤するバイトなので、関数を使って簡単に入力したいと思っています。(月木土日曜日の、17時から22時までの勤務) 項目が「日付、曜日、出勤時刻、退勤時刻、休憩時間、実働時間」とあり、曜日を参照して自動的に 出勤日に17:00、退勤時刻に22:00。休憩時間に0:15と入力するには、どうしたらいいのでしょうか? 一日(たとえば月曜日のみ)などの時は、if関数を使って入力できるのですが、1週間に4日分の入力をする関数の使い方がよくわかりません。andやor関数を使ってみましたが、うまくできませんでした。 わかる方は、是非教えてください。よろしくお願いします。

  • Excelで勤務時間の管理表を作成したい

    Excel初心者です。 Excelに詳しい方、どうかご教示いただきたく思います。 現在、タイムカードを元に、Excelで勤務時間の管理をしようとしていますが、 思うように出来ず、大変困っております。 作成したい勤務管理表としては、添付の画像のような形式になるのですが、 出社時刻も退社時刻も、昼休憩の開始時間や昼休憩の時間の長さも 人によってまちまちで特殊な働き方のため、管理が難しいです。 そのため、添付画像のように、 タイムカードの出社時刻と退社時刻を記入するだけではなく、 実際に業務を行った時間の内訳がわかるよう、 午前と午後の開始時間と終了時間の枠を設け(E列~J列)、 それを元に勤務時間合計(K列)を出すようにしています。 そこで、勤務が午前~午後にまたがり昼休憩を挟む場合は、 午前の終了時間(G列)と午後の開始時間(H列)は手入力をするようにし、 それ以外は、タイムカードの出社時刻(C列)と退社時刻(D列)が、 午前の開始(E列)および午後の終了(J列)の欄に反映されるようにしたいです。 なおその際に、以下の4点を考慮して作成したいと考えています。 (1)出社時刻(業務開始時間)は30分単位で切り上げる。 (2)退社時刻(業務終了時間)は30分単位で切り下げる。 (3)タイムカードの出社時刻欄(C列)や退社時刻欄(D列)に何も入力されていない場合は、  午前・午後の開始欄・終了欄(E列~J列)は空欄にさせる。  同様に、午前だけの勤務時は、午後の開始欄・終了欄(H列~J列)を空欄、  午後だけの勤務時は、午前の開始欄・終了欄(E列~G列)を空欄にさせる。 (4)タイムカードの出社時刻(C列)に合せて、その時刻が午前ならば午前の開始欄(E列)に、  午後ならば午後の開始欄(H列)に、(1)で丸めた時間を表示させる。  同様に、退社時刻(D列)に合わせて、その時刻が午前ならば午前の終了欄(G列)に、  午後ならば午後の終了欄(J列)に、(2)で丸めた時間を表示させる。 (※但し、添付画像の6行目の例の様に、午前だけの勤務の際に、終了時間が12時を過ぎていた場合は、午前の終了欄(G列)に表示させる。) 現在は勤務時間合計(K列)だけ計算式を入れており、それ以外は全て手入力のため、 手間がかかるだけでなく、入力ミス等にも繋がるため、 出来るだけミスの少ない管理表を作成したいと思っています。 条件の多い質問で大変恐縮ではありますが、 なるべく簡単な方法を教えていただけると大変助かります。 どうぞ宜しくお願い致します。

  • エクセルで勤務表・・

    勤務表作成について教えてください 浅海も質問させていただいたのですが・・ たとえば A1.A2.A3と従業員の氏名を B1.B2.B3とB列には 出勤時間を C列には退社時間を入れた表をつくり D列から右の列には 勤務シフト(出勤から退社までの時間帯)を帯状に作成したいのですが・・1日の会社の営業を朝9時から夜10時までとして シフト表を簡単に記入できたらと思っています。できれば 休憩時間も D列に記載して自動入力できれば最高なのですが  それ以上の機能は もとめませません   作成方法教えていただけませんか? グラフのテ入力しかありませんか? よろしくお願いします

  • Excelで勤務表を作りたいのですが

    Excelで勤務表を作りたいのですが、なかなか関数がうまく使えません。 時間計算をご存知の方、教えて下さい。 入力列 A:出勤時刻 B:退勤時刻 C:勤務開始時間 *始業9:00のため、9時より以前の出勤時刻は9:00、9:00以降の出勤はその時刻を表示する。 D:休憩時間 E:実働時間(始:C/終:B/マイナス:D) F:時間内勤務(8時間まで) G:時間外勤務(8時間を超過したところから・22時迄) H:深夜残業(22時以降の勤務時間) このような説明でお分かり頂けるでしょうか。 よろしくお願いします。

  • Excelで勤務表を作っていますが・・・

    Excelで添付のような勤務表を作っています。 1.勤務表は15日締め 2.年:$B$2に書式形式「#"年"」にして「2017」と入力 3.月:$A$4に「11」、$A$20に「12」と入力 4.日:B4~B18に「16~30」、B20~B34に「1~15」と入力 5.曜日:=IF($B4<>"",TEXT(DATE($B$2,$A$10,$B4),"aaa"),"")を   C4に入力し、C34までコピペ 日の入力を手入力で行なっているため2/28、4/30、6/30、9/30、11/30以降の 日を削除してやらないと正しい勤務表が出来ません。 日の入力を手入力ではなく自動的にできる方法をご存知の方、 是非お教え願います。

  • エクセル計算式

    エクセルで作成した表で、出勤時刻と退社時刻を入力する欄があります。 残業時間数を算出する計算式を教えてください。

  • 日付をまたいだ勤務表の計算について

    excel2007で勤務表を作成しています。 シート1に15分単位で出勤時刻、退社時刻、勤務時間、残業時間をいれた表を作っています。 シート2に勤務表を作成して、vlookup関数を使い 退社時刻が○時の場合、勤務時間は○時間と算出していますが、 退社時刻が0時を超えると、退社時刻23:45の行の数字が表示されます。 (退社時刻の切り捨ては別の行で行っています) どのようにしたら、例えば0:15に退社した場合は、23:45ではなく 0:15の行を見に行くようになるのでしょうか。 うまく説明出来てなくて、すみません。 分かる方、教えて下さい。

  • Excelで勤務表を作成しています(再)。

    (前回までの投稿において質問の意図が分かりづらかったため、質問文と添付図を一部修正の上、再投稿させて頂いております) Excelで勤務表を作成しています。添付図のように、設定シートには社員表と勤務区分の表を作成しており、勤務表シートには社員名と日付毎の勤務区分を入力できる様式です。 今回の目的は、1日毎の女性用勤務(F勤務)における特定の区分(A、A研、B、B研、C、C研)をカウントしたいというものです。 例では7人程度のものですが、実際は数十人規模になるため、カウントセルが必要になりました。 例えば、F勤務が適用されているのは小野寺、高橋、山田、小林で、1日においてA、A研、B、B研、C、C研が入力されているのは小野寺、山田、小林の3人なのでE9セルには3とカウントされるようにしたいです (2以下OKという表記は無視してください)。 つきましては、E9~G9セルにはどのような関数を組み合わせればこの仕組みができますでしょうか?なお、勤務表は印刷して配布する都合上、この体裁を崩さないでやりたいです。ただ、どうしても必要な部分があればご指摘下さい。 以前に教えて頂いたSUMPRODUCTや、COUNTIF等の組み合わせを考えてみたのですが発想が出てこずに困っております。お分かりの方ご教授下さい。よろしくお願い致します。

  • エクセルで 勤務表を・・

    勤務表を作成しているのですが 簡単にメンバーの出勤日・時間を入力して 1日のスケジュールが作れるものを探しています 何か良いも方法などありましたら教えてください 

  • エクセルで作成した勤務表を週間勤務表に抽出したい

    エクセルで作成した勤務表を元にして 週間勤務表(月~日)を作成したいのです。 現状はコピペで作業をしていますが可能であれば シートをファイルに貼り付ける事により自動計算で反映できるようにしたいと思います。 月初めは1日からですが曜日が都度変わるためそのための関数式が 分かりませんでした。 現在の勤務表は B6以降B欄には社員名 セルC3に月    C4に日    C5に曜日    C6以降はその日の勤務シフト(早、遅 等) 週間予定表は  A6以降A欄が社員名  G4が日  G5が曜日(固定)  G6以降がその社員の勤務シフト と表示したいので 19年8月の場合8/1が水曜日なので  I4に「1」  I6に「シフト」  のような表示が可能な関数式を探しております。 宜しくお願い致します。

このQ&Aのポイント
  • デビッドカードを使用してホテル予約をしようとしたが、今までは認証されていたのに今日使おうとすると認証されない問題が発生している。この問題に対処する方法は何か。
  • デビットカードを使ってホテルの予約をしようとしたが、今まで正常に認証されていたのに、突然認証されない状況が発生している。どうすれば予約ができるようになるのか。
  • デビットカードを使用してホテルの予約をしようとするが、以前は問題なく認証されていたのに、最近は認証がされない状況が続いている。この問題に対して解決策はあるのか。
回答を見る

専門家に質問してみよう