• ベストアンサー

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

hallo-2007の回答

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

>6行目(B6セル)に =IF(B6=0,MOD($B2-2+DAY(B3)-SUM($B5:B5),$B1)+1,0) 式を分解してみるとわかりやすいです。 更に 7行目に作業列 =$B2-2+DAY(B3)     日にちごとに 日にち事に連続した番号になります。 8行目に作業列 =MOD($B2-2+DAY(B3),$B1)     その番号を 人数で割ったあまりがでます。 9行目に作業列 =SUM($B5:B5)     休みの数の合計がでます。 と入れて右へコピィしてみてください。 式のセルを指定する $B2 とか$マークが付く場合と付かない場合がありますよね。 絶対参照と呼びますが、意味は右へコピィしてもセルの位置を変動させないということです。 例えば 9行目の=SUM($B5:B5)の式を右へコピィした場合 =SUM($B5:B5) =SUM($B5:C5) =SUM($B5:D5) ・・・ と合計する範囲が広くなっていくように設定してあります。 別件ですが カレンダーの日付をコピィの作業をしなくても良いように関数をいれておくことも出来ます。    A     B   C   D・・・ 1 人数    5   年  2010 2 最初の人  1   月   1 3 日付    10/1 10/2 4 曜日    金曜  土曜・・・ とD1セルに 年 の数値 D2セルに 月 を数値で入れます。 日付のB2セルには =DATE($D1,$D2,COLUMN(A1)) と入れて右へコピィしておきます ここも 年と月を決める D1とD2のセルを指定するときは右へコピィしても変動しないように $マークをつけておきます。 COLUMN(A1)はA1セルの列の番号です。右へコピィした場合に COLUMN(B1) COLUMN(C1) と変動する様に $マークは付けません。 *COLUMN(A1)は COLUMN(A2)でもACOLUMN(3)でもかまいません。 曜日のB3セルには =B2 と入れます。書式=>セル で表示形式のタブ ユーザ定義 で aaa と入れると その日の表示が曜日になります。 B3セルも右へコピィします。 毎月、月の部分を変更するだけで その月のカレンダーになります。 表示形式については http://www.excel.studio-kazu.jp/lib/e3g/e3g.html などを参考にしてください。

GAOMONN
質問者

お礼

補足説明ありがとうございました。 今日会社でやってみたところ成功しました。 どうしてもうまくいかなかったので、 =IF(B6=0,MOD($B2-2+DAY(B3)-SUM($B5:B5),$B1)+1,0) の最初のB6=0を、B5=0とやったらできました。 あっていたのか?ちょっと不安ですが、おかげさまで表は完成いたしました。 どうもありがとうございました。 他の皆さんの方法を試す時間がなかった(というか私のレベルだと理解するのに時間がかかるので) 他の表に活用させていただきます。 どうもありがとうございました。

関連するQ&A

  • excel 当番表を作る

    excelで当番表を作っています。 カレンダーの中に毎日「お昼当番」と「朝礼当番」を入れています。 「お昼当番」と「朝礼当番」のメンバーは若干違います。 7月  2日 3日 4日 5日 6日  A  B  C  D  E  C  B  A  C  B  9日 10日 11日 12日 13日  F  G  A  B  C  A  C  B  A  C ・・・・ このとき、3日や13日のように同じ人が当番が重なることがありますが これは避けたいと思っています。 いつもこのカレンダーの作成を行う際、 コピペを間違って誰かが途中抜けてしまったり、 同じ人が重なってしまうことを見落とすことがあります。 このようなカレンダーの作成を自動で行う方法はあるでしょうか? 難しいと思いますが、ご助力お願い致します。

  • Excel カレンダー 当番表

    Excelでカレンダー形式で当番表を作成したいです。 平日だけ割り当てて、土日祝はなし。当番はローテーションで、20人ほどいます。 毎月作成しなければならず、できれば簡潔に関数だけで作成したいです。 どなたか、教えてください。。 宜しくお願いします。

  • エクセルで曜日指定のカレンダーを作りたい

    お掃除当番表をExcelで作っています。 当番は火金だけなので、1年間のカレンダーを作りたいのですが、オートフィルでやってもずれてしまいます。 日付を手入力で、曜日をWEEKDAYで表示するくらいしか思いつかないのですが、他に何か便利な方法はありますか?

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

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

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

    トイレ掃除の当番カレンダー表をexcelで作成したいです。 「3日づつ」交代で「8人」で回す~等の決まりで 関数やVBAなどを使って作成したカレンダーに 自動で名前が表示されるようにできないでしょうか? 「」部分は変動する場合があります。 土日祝日は休みです。 1列の物ではなく普通の市販されているような7×6マスのカレンダー表記です。

  • エクセルでカレンダー

    プライベートでエクセルでカレンダーを作り予定表などを入力して使っています。 やり方は 1.1行の各列にに日、月、・・・・土 2行以下は各曜日の下のセルに日にちが入れてあります。 2.各セルは3行分の行高さが取ってあり日にちは上詰め中央に表示し、予定は下2行に入れています。 3.日にちは日曜日、祝日は赤でその他は黒で表示し、予定は青で書き込みます。 4.本日以前の日にちや、予定は毎日紫に変更しています。 質問 自動で4の操作と本日の日付のあるセルを黄色で塗りつぶす様に出来ないでしょうか? そのプログラムを教えていただきたいのです。

  • エクセルを使って当番表を作成したいのですが・・・

     関数を使った当番表があるのですが、改善しようと考えています。現状の当番表を作成したのは私ではなく、エクセルのレベルは決して高くありません。よい方法を教えていただければと思います。 現状・・・一つのシートに1ヶ月単位の当番表を作成しています。そのシートをもとに1日単位の当番表が出力できるように関数VLOOKUPを使用し、別のシートで1日単位の当番表を出力できるようになっています。当番の電話番号一覧のシートがあるのですが、現在1日単位の当番表に手書きで当番の番号を記入しています。  ・使用している関数=VLOOKUP($Y$8,1ヶ月当番表!:$AM$32,23,FALSE)  ※Y8に日にち(1.2.・・・31)を入力するとその日の当番が反映されるようになっています。 希望・・・1日単位の当番表に関数を使って個人の電話番号データが反映されるように改善したいと考えています。  説明が不十分かと思いますが、よろしくお願いします。

  • EXCELでの当番表入力

    地元の育成会で役員を押し付けられました。いやになるほど書類を作らされています。 本当に困っているのが、EXCELで作る当番表です。E列に2021年度の年月日、F列に曜日が入っています。土日祝日と夏休み等の特別休暇の間には当番がありませんのでそういった日付を飛ばして、G列に班番号、H列に名前を自動で入れたいのですが、なんとかならないでしょうか。 班番号と名前の順番はA列とB列に用意しました。当番は70名ほどで来年の3月までループします。 なんとか入力だけでも簡易に済ませたいのですが、お力を貸して下さい。

  • エクセル2003でカレンダーを作成したのですが

    そのカレンダーに、誕生日に該当する人の名前を 出てくるようにしたいのですがどういった関数?計算式?を 使用すればいいのでしょうか。 ひとまず、A1セルに2010/1/1を入力し、下に =IF(MONTH($A$1)<>MONTH($A$1-WEEKDAY($A$1)+COLUMN(F1)+7*(ROW(F1)-1)),"",$A$1-WEEKDAY($A$1)+COLUMN(F1)+7*(ROW(F1)-1)) を入れて、あとはオートフィルでカレンダーを作りました。 別シートに、「名前」「誕生月」「日にち」が入ったデータはあるので、ここから引っ張ってこれるようにしたいのですが・・ 説明が下手で申し訳ありません。 ちなみにエクセルはほぼ初心者です。カレンダーもネットで調べて、やっとこさ作成しました。 別シートのデータを、「月と日付別々じゃなくて12/3みたいに 打ち直して、こういう関数つかってやればいいんじゃない?」 などなど、あればお聞きしたいです。

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

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