• 締切済み

当番表&当番回数をエクセルで作りたい。

よろしくお願いいたします。 こちらのソフトのような、 http://www.juno-e.com/excel2/?p=50 この人は何曜日と何曜日入れると指定し、自動的に名前が入る当番表を作りたいのですが、作りたい当番表は、祭日は当番がないので、指定した曜日でも当番が入らないようにしたいですし、月によっては行事で1日や2日、通常当番が入る曜日でも先に当番が入らないようにしたいのですが、こういった事は、こちらのソフトでは不可能でしょうか? エクセルでなんとかこれから長く続く当番表作りを楽にしたいと考えている最中です。

noname#225201
noname#225201

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1です。質問者の意向に沿うかどうかわからないが、VBAでやってみました。 特別な入力は、データ入力は、第3行目の氏名の下の曜日コードのみ(職員名数分)です。 例データ A1:Dxx ーー シートで 出勤予定表 氏名 山田 近藤 木下 出勤曜日 2,5 3,6 3,4   <--2,5は火曜と木曜を指定したもの。入力はこの行のみ 2017/02/01(水) 〇 2017/02/02(木) 〇 2017/02/03(金) 〇 以下の月末日までの行を掲示略 A列の書式は、ユーザー定義で yyyy/mm/dd(aaa) としたもの。 ーーー VBE画面(ALT+F11)を出して下記コードを貼り付け。 Sub test01() lc = Cells(3, 500).End(xlToLeft).Column '氏名行のデータ最右列をとらえる '--- For j = 2 To lc '2列からlc列まで繰り返し。」職員分を繰り返し。 '--第3行目の曜日コードについて w = Split(Cells(3, j), ",") 'j列第3行目のセルについて、カンマで区切られている文字列を分離 For m = 0 To UBound(w) '分離された曜日コードの各々について For i = 4 To 30 '第4行目から月末日までについて 'MsgBox Day(Cells(i, "A")) & "=" & Weekday(Cells(i, "A")) If Weekday(Cells(i, "A")) = Val(w(m)) Then 'A列の月中の日付の曜日が指定のものか Cells(i, j) = "〇" End If Next i Next m Next j ' 次の右列の処理へ繰り返し End Sub こんなものでよければ、VBAができれば、入力画面設計にこだわらなければ、難しくないことを言いたいため出します。 1日経っても回答が出ないのは、問題がむつかしいのでなく、回答を仕上げるのが面倒で、回答説明文章も長くなって、忙しい人では、やる気が起こらないからだと思う。

noname#225201
質問者

お礼

imogasi様 本当にご親切にまたご丁寧にお返事いただきましたこと、又至らぬ点のご指摘、ありがとうございました。本当にそうだ(汗)と思いました、もう少し勉強し、できる限りは挑戦したいと思います。 今後はもっと的確な質問が出来るようにいたします。お時間割いていただきありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

>祭日は当番がないので、指定した曜日でも当番が入らないようにしたいですし> >月によっては行事で1日や2日、通常当番が入る曜日でも先に当番が入らないようにしたいのですが こういう事項は、異例ケース対応だろう。本質的なことではない。 もっとほかに、考える(表現する、説明する)ことがあると思う。 大事なことで漏れているのは、作りたい表が設計されて、質問に掲げられていないこと。 ーー それより (1)見かけの仕組み(チェックボックス利用のようなこと)をどこまで利用するか (2)どの程度入力を自動化するか。表の完成形はどんなもの? (3)複数職員の予定をどう表現したいか 週間表か、月間表か、などを質問者が決めないと質問にならない。 これらの設計も、エクセルをある程度知り、帳票設計も多少慣れないと、増しなものは作れない。 ーー (こちらのソフトといっているものは)こういうフリーソフトは、セミプロ級の人が作るもの.便利ならダウンロードして使えばよい。 自分で作ったりするのはむつかしく、フリーソフトは、それを一部修正はできない相談です。 紹介されているからといって、似たものをすぐ質問者が作れるものではない。 入力時の格好良い仕組み(たとえばチェックボックスをクリックして、出勤日を指定する仕組みなど)は、自分の力と相談して、あまりこだわるな。 申請者(出勤者の)出勤日申請メモと、(エクセルシートに具体的に各日に入力する)入力者は分けて作業するところから始めるべきでは?自動化の省力化などプログラムなど作成の労力に比べたらしれている。 ーー フリーソフト類は、最低でもVBAを駆使できる人が作っている場合が多いと思う。 質問者は、VBAはできますか。甘く考えないこと。 こういうものを作るのは、質問ぶりからして、時期尚早かと思う。 先輩で経験のある人がいたら相談して作ること。

関連するQ&A

  • EXCEL 当番表の作り方

    条件 ・13名 ・1日1名 ・曜日関係なし この条件で当番表を作成したいのですが、何か関数を使用して簡単に当番表を作ることはできますか?

  • 当番表をエクセルで作りたい

    今現在社内での月ごとの当番表を作っているのですが、曜日に合わせて自動で入力できるようにしたいです。       1  2  3  4  5  6  7  8  9       月 火 水 木 金 土 日 月 火 社員1 A   ○    ○           ○ 社員2 B     ○      ○ 社員3 B     ○      ○ 社員4 A   ○    ○           ○ 横に日にちと曜日、縦に社員の名前とシフト名を並べています。 シフト名がAならば火、木当番。 Bならば水、土が当番という形で○をつけています。 そしてこのシフト名はEまである状況です。 社員数が30名ほどあるし、並び順は年齢順ですので一人ずつ入れると大変です。 客先への出張があって、来月はシフトAからDに当番変更ということがよくあったりします。 なのでこのシフト名を変えれば自動で曜日に合わせて○を入れてくれるようにしたいのです。 いろいろ考えましたが、自分ではどうしてもうまく作れません。 どうかよろしくお願いします。

  • エクセルの当番表を作りたいのですが

    似たような質問があると思いますが、なかなか合ったものが無かったので質問させていただきます。 1か月の活動内容が記載されたカレンダーがありまして、A列に日付が1か月分入っています。 B列に当番の名前を入れたいのですが、毎日では無くて飛び飛びになっています。 具体的には、火・木・土・日だけしか当番の名前は入りません。 月次の予定表を兼ねているので、火・木・土・日だけの表示にする事はできません。 当番は10人で、1年間同じ順番で回ってきます。 大した数ではないので今まで直接打込んでいましたが 何か自動でできるような便利な方法がありましたら教えてください。 もう一つ、C列には、管理者が入ります。 管理者は火・木担当と、土・日担当がいます。 管理者は、曜日固定でいつも同じ人が入ります こちらも何か便利な方法があれば教えてください。 よろしくお願いします。

  • 掃除当番表の作り方でいい方法がないでしょうか。

    パートメンバーで、掃除当番表を作りたいとおもっています。便所、店内の床、駐車場、休憩室の4箇所です。最低でも、便所、店内の床は、絶対必要な掃除場所です。しかし、パートさんの来る曜日は、固定ですが、全員バラバラなので、平等に、掃除当番の日を決めるのは、私には難しい事です。一人に同じところが偏ったりしてしまいます。 どんな形の掃除当番でもかまいません。 名前と出勤の曜日を入れて、計算してくれるソフトなどあったらいいのですが・・・。いい方法をご存知なかどうか教えて下さい。

  • 当番表の名前のダブりを探すには?

    お世話になります。 超初級者のため、本を読んだり、過去の質問を読んだりしたのですが、 よくわからないので、具体的な質問をさせてください。 仕事で当番表を作っていて、関数を使ってダブりを探したいのですがうまくいきません。 スタッフは12人いて●当番は4名、★当番と▲当番は3名、■当番は2名と、それぞれ担当が決まっています。 ◆当番とTel当番(月・水・金曜)は上記の当番になっていない者が当たります。 で、「担当当番の回数が均等になるように」、 「◆当番やTel当番が担当当番とダブらず、なるべく回数を均等に」と、作っているのですが、 どうしてもいつくかの行でダブりができてしまいます。 出勤は月15日なので休みの日も除かなくてはなりません。 条件書式を使ったりして、名前の色を変えたりと工夫はしているのですが、 列をまたがって色を指定する条件の付け方がわからないので、 見落としが発生します。 列の回数の条件付けができることは知っているのですが、行でもできるのでしょうか? それができればとりあえず担当当番を入れてから、◆当番やTel当番を入れればダブってしまっても 分かりやすくて楽じゃないかなと思っています。 なんだか支離滅裂な質問になってしまいましたが、お分かりいただけますでしょうか?

  • マクロで当番表

    Excelマクロで当番表を作成しているのですが、わからない事があるのでお教えください。 例えば1週間毎にAさん、Bさん、Cさん、Dさん4人を振り分けたいのですが、分岐、判断方法がわかりません。 1年間のカレンダーは出来上がっています。 当方の企業は完全週休2日で祝祭日も休みです。カレンダーの休日にはセルを塗りつぶしています。(マクロで34の薄い水色です。) そこで、休日セルの塗りつぶしを背景で、日曜日~土曜日までを曜日で情報を受け取り作成したいのですが、うまくいきません。 月曜から金曜までをAさん、次の週の月曜から金曜までをBさんにしたいのです。 また、Dさんが終わればAさんに戻る。 下記は曜日と背景の例です。 if then ElseでもDo until loopでも他の方法でもよろしいのでお教えください。 曜日=Right(Sheets("カレンダー").Cells(行, 列).Value, 1) 背景 = Cells(行, 曜日列).Interior.ColorIndex

  • エクセルで作成したカレンダーに「当番の名前」を自動的に入力する方法をお

    エクセルで作成したカレンダーに「当番の名前」を自動的に入力する方法をおしえてください。 毎月エクセルで朝礼当番表を作っています。 土、日、祝がお休みです。 たとえば、1日に最初の人の名前を入力すると休みの日はぬかして、 順番に当番が入力されるという関数があれば教えてください。 1行目に「日にち」 2行目に「曜日」 3行目に「当番者名」 と簡単な表です。 リストからコピペしたら間違えてしまいました。 オートフィルで入力しようかと思ったのですが、休みの日を抜かすのが面倒で。 よろしくお願いします。

  • Excelで当番表を作成したい

    Excel2019使用 初心者です。 ネット上にある様々な回答を参考にし作成していますが、1つ問題が起きたのでご回答いただけますと幸いです。 現在、平日のみをローテーション化した当番表を作成しています。(ファイル添付) ・土日祝は月によって順番がバラバラなので手入力です。 ・祝日は別シートで「祝日」という名前で設定しています。 ・I11:J11のテーブルは「担当者表」という名前をつけています ・セルJ4~ 担当者のメンバー変更は頻繁に起こるため、毎月シート上で変更しています。 ・初日担当番号は手入力です。 ・条件付き書式で、その月に該当しない日程は表示しないように、また入力すべきセルが黄色に色がつくようにしています。 ・A4=N3-(N5-1) ・B4=A4+1 ・A5=IFS(MONTH(A4)<>$K$1,"",WORKDAY(A4-1,1,祝日)=A4,INDEX(担当者表[氏名],MOD(NETWORKDAYS($A$4-1,A4,祝日)+$N$1-$N$5,$N$6)+1),TRUE,"") 問題は、「1月と10月のみ、初日担当番号に指定した者ではなくその次の者から始まってしまう」ということです。要するに、1番(あさん)を指定しているにも関わらず、2番(いさん)から始まります。 1月と10月以外は問題なく動きます。 ズレてしまう二つの月は、月の始めが第一日曜日という共通点があり、それが理由ではないかと思うのですが…。 また、A5セルの+$N$1-$N$5,$N$6)部分が理解できていませんが、間違っていたとしても1月10月以外は正しく動くのでどうしたら良いのかが分かりません…。 ここまで読んでくださってありがとうございます。 不足している情報もあるかと存じますが、ご教示下さい。

  • エクセルで回数を指定して出勤表を作りたい

     エクセルを使って,出勤表を作りたいと思っています。1月ごとのカレンダーで,3班体制なので,ある日は1班。次の日は2班というようにしたいのです。  曜日に関しては,土日祝以外になります。  1番問題なのは,平日をすべて出勤するのではなくて,各月ごとに,班毎の出勤回数を指定したいのです。  そこで,どこかのセルにその月の出勤回数を6なら6と入力することで,自動的にカレンダーに1班,2版,3班と入力されるようにしたいのです。  どの日を未出勤日にするか等の指定はありません。  得るにはいった数値でそれに合わせた回数を自動入力させる方法があれば教えてください。

  • 就職関連の行事がよく行われる曜日は?

    就職関連の行事がよく行われる曜日は何曜日でしょうか? セミナー・企業説明会・入社試験などの行事は 何曜日に固まって行われるのでしょうか?

専門家に質問してみよう