[[20230330150538]] 『表からカレンダーに入力』(エクセル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『表からカレンダーに入力』(エクセル)

自作の担当表カレンダーに、組み合わせをあらかじめ決めた表の上から順番に入力されるようにしたいのですが、このような場合はどうすればいいでしょうか。

カレンダーは日曜始まり土曜終わりで、横に1週間分の日付が並ぶいわゆる一般的なカレンダーです。
カレンダーは上に日にちのセル、その下の空白のセルがあり、空白のセルに担当を入力したいと考えています。
担当は平日のみで、あらかじめ決めた担当の組み合わせ表は縦に作成してあります。この表は横に作り替えることも可能です。

コピペで張り付けていたのですが、かなり面倒なので、数式などを活用し引用できないかと思いご相談させていただきました。

よろしくお願いいたします。

< 使用 Excel:unknown、使用 OS:unknown >


 =INDEX(担当組み合わせ表,MOD(○日目,担当組み合わせ表の行数)+1)

みたいにいけるかな、と考えました
(火災報知器) 2023/03/30(木) 16:07:47


    Sub 想像図作成()
        [A1].Borders.Weight = XlBorderWeight.xlThin
        [A1].NumberFormat = "yyyy/mm"
        [A1].Value = Date
        [C4:G4,C6:G6,C8:G8,C10:G10,C12:G12,C14:G14].Borders.Weight = XlBorderWeight.xlThin
        [B3:H3,B5:H5,B7:H7,B9:H9,B11:H11,B13:H13].NumberFormat = "m/d"
        [B1:H2].Value = [{"日","月","火","水","木","金","土";1,2,3,4,5,6,7}]
        [A3:A14].Value = [{1;1;2;2;3;3;4;4;5;5;6;6}]
        [B3:H3,B5:H5,B7:H7,B9:H9,B11:H11,B13:H13].FormulaR1C1 = "=INDEX(C11,(RC1-1)*7+R2C)"
        [C4:G4,C6:G6,C8:G8,C10:G10,C12:G12,C14:G14].FormulaR1C1 = "=INDEX(C13,(RC1-1)*7+R2C)"
        [K:K].NumberFormat = "yyyy/mm/dd"
        [K1:K42].FormulaR1C1 = "=EOMONTH(R1C1,-1)+ROW()-WEEKDAY(EOMONTH(R1C1,-1))"
        [L1:L42].FormulaR1C1 = "=IF(AND(MONTH(RC[-1])=MONTH(R1C1),WEEKDAY(RC[-1],2)<6),1)"
        [M1:M42].FormulaR1C1 = "=IF(RC[-1],INDEX(C15,SUM(R1C[-1]:RC[-1])),""-"")"
        [O1:O20].Value = [{"01番";"02番";"03番";"04番";"05番";"06番";"07番";"08番";"09番";"10番";"11番";"12番";"13番";"14番";"15番";"16番";"17番";"18番";"19番";"20番"}]
    End Sub

 [___]|___A____|___B____|___C____|___D____|___E____|___F____|___G____|___H____|___I____|___J____|_____K_____|___L____|___M____|___N____|___O____|
 [  1]|2023/03 |日      |月      |火      |水      |木      |金      |土      |        |        |2023/02/26 | FALSE  |-       |        |01番    |←O列を組み合わせ表
 [  2]|        |       1|       2|       3|       4|       5|       6|       7|        |        |2023/02/27 | FALSE  |-       |        |02番    | とした
 [  3]|       1|2/26    |2/27    |2/28    |3/1     |3/2     |3/3     |3/4     |        |        |2023/02/28 | FALSE  |-       |        |03番    |
 [  4]|       1|        |-       |-       |01番    |02番    |03番    |        |        |        |2023/03/01 |       1|01番    |        |04番    |
 [  5]|       2|3/5     |3/6     |3/7     |3/8     |3/9     |3/10    |3/11    |        |        |2023/03/02 |       1|02番    |        |05番    |
 [  6]|       2|        |04番    |05番    |06番    |07番    |08番    |        |        |        |2023/03/03 |       1|03番    |        |06番    |
 [  7]|       3|3/12    |3/13    |3/14    |3/15    |3/16    |3/17    |3/18    |        |        |2023/03/04 | FALSE  |-       |        |07番    |
 [  8]|       3|        |09番    |10番    |11番    |12番    |13番    |        |        |        |2023/03/05 | FALSE  |-       |        |08番    |
 [  9]|       4|3/19    |3/20    |3/21    |3/22    |3/23    |3/24    |3/25    |        |        |2023/03/06 |       1|04番    |        |09番    |
 [ 10]|       4|        |14番    |15番    |16番    |17番    |18番    |        |        |        |2023/03/07 |       1|05番    |        |10番    |
 [ 11]|       5|3/26    |3/27    |3/28    |3/29    |3/30    |3/31    |4/1     |        |        |2023/03/08 |       1|06番    |        |11番    |
 [ 12]|       5|        |19番    |20番    |       0|       0|       0|        |        |        |2023/03/09 |       1|07番    |        |12番    |
 [ 13]|       6|4/2     |4/3     |4/4     |4/5     |4/6     |4/7     |4/8     |        |        |2023/03/10 |       1|08番    |        |13番    |
 [ 14]|       6|        |-       |-       |-       |-       |-       |        |        |        |2023/03/11 | FALSE  |-       |        |14番    |
 [ 15]|                                                                                         |2023/03/12 | FALSE  |-       |        |15番    |
 [ 16]|                                                                                         |2023/03/13 |       1|09番    |        |16番    |
 [ 17]|                                                                                         |2023/03/14 |       1|10番    |        |17番    |
 [ 18]|                                                                                         |2023/03/15 |       1|11番    |        |18番    |
 [ 19]|                                                                                         |2023/03/16 |       1|12番    |        |19番    |
 [ 20]|                                                                                         |2023/03/17 |       1|13番    |        |20番    |
 [ 21]|                                                                                         |2023/03/18 | FALSE  |-       |        |        |
 [ 22]|                                                                                         |2023/03/19 | FALSE  |-       |        |        |
 [ 23]|                                                                                         |2023/03/20 |       1|14番    |        |        |
 [ 24]|                                                                                         |2023/03/21 |       1|15番    |        |        |
 [ 25]|                                                                                         |2023/03/22 |       1|16番    |        |        |
 [ 26]|                                                                                         |2023/03/23 |       1|17番    |        |        |
 [ 27]|                                                                                         |2023/03/24 |       1|18番    |        |        |
 [ 28]|                                                                                         |2023/03/25 | FALSE  |-       |        |        |
 [ 29]|                                                                                         |2023/03/26 | FALSE  |-       |        |        |
 [ 30]|                                                                                         |2023/03/27 |       1|19番    |        |        |
 [ 31]|                                                                                         |2023/03/28 |       1|20番    |        |        |
 [ 32]|                                                                                         |2023/03/29 |       1|       0|        |        |
 [ 33]|                                                                                         |2023/03/30 |       1|       0|        |        |
 [ 34]|                                                                                         |2023/03/31 |       1|       0|        |        |
 [ 35]|                                                                                         |2023/04/01 | FALSE  |-       |        |        |
 [ 36]|                                                                                         |2023/04/02 | FALSE  |-       |        |        |
 [ 37]|                                                                                         |2023/04/03 | FALSE  |-       |        |        |
 [ 38]|                                                                                         |2023/04/04 | FALSE  |-       |        |        |
 [ 39]|                                                                                         |2023/04/05 | FALSE  |-       |        |        |
 [ 40]|                                                                                         |2023/04/06 | FALSE  |-       |        |        |
 [ 41]|                                                                                         |2023/04/07 | FALSE  |-       |        |        |
 [ 42]|                                                                                         |2023/04/08 | FALSE  |-       |        |        |
                                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                        ここは邪魔なら隠す

(白茶) 2023/03/30(木) 16:15:51


 レイアウト想像中...

 >空白のセルに担当を入力したいと考えています

 名前を入力するって事だと思うのですが
 あらかじめ決めた担当の組み合わせは...2名1組ですか?

 詳細なレイアウトと、人数などを正確に言ってくれたら
 回答がつくかもですよ。

 ■担当表カレンダー

 [1] |March|2023|		
 [2] 		
     |[A]|[B]|[C]|[D]|[E]|[F]|[G]		
 [3] |日 |月 |火 |水 |木 |金 |土 		
 [4] |   |   |   |  1|  2|  3|  4		
 [5] |   |   |   |   |   |   |   		
 [6] |   |   |   |   |   |   |   		
 [7] |  5|  6|  7|  8|  9| 10| 11		
 [8] |   |A  |C  |E  |G  |I  |K  		
 [9] |   |B  |D  |F  |H  |J  |L  		
 [10]| 12| 13| 14| 15| 16| 17| 18		
 [11]|   |   |   |   |   |   |   		
 [12]|   |   |   |   |   |   |   		
 [13]| 19| 20| 21| 22| 23| 24| 25		
 [14]|   |   |   |   |   |   |   		
 [15]|   |   |   |   |   |   |   		
 [16]| 26| 27| 28| 29| 30| 31|   		
 [17]|   |   |   |   |   |   |   		
 [18]|   |   |   |   |   |   |   		

 ■担当の組み合わせ表		

 [1] 組み合わせ表  		
 [2]  		
     |[A] |[B] 		
 [3] |曜日|担当		
 [4] |日  |休  		
 [5] |    |休  		
 [6] |月  |A   		
 [7] |    |B   		
 [8] |火  |C   		
 [9] |    |D   		
 [10]|水  |E   		
 [11]|    |F   		
 [12]|木  |G   		
 [13]|    |H   		
 [14]|金  |I   		
 [15]|    |J   		
 [16]|土  |K   		
 [17]|    |L  

(あみな) 2023/03/30(木) 16:37:16


あみなさまご指摘ありがとうございます。現在のカレンダーは以下のようなものです。

     |[A]|[B]|[C]|[D]|[E]|[F]|[G] 	
 [2]            2023/3		
 [3] |日 |月 |火 |水 |木 |金 |土 		
 [4] |   |   |   |  1|  2|  3|  4		
 [5] |   |   |   |   |   |   |   		
 [6] |  5|  6|  7|  8|  9| 10| 11		
 [7] |   |   |   |   |   |   |   		
 [8] | 12| 13| 14| 15| 16| 17| 18		
 [9] |   |   |   |   |   |   |   		
 [10]| 19| 20| 21| 22| 23| 24| 25		
 [11]|   |   |   |   |   |   |   		
 [12]| 26| 27| 28| 29| 30| 31|   		
 [13]|   |   |   |   |   |   |   		
 [14]|?@ |?A |?B |   |   |   |   			
 [15]|A/B|C/D|E/A|   |   |   |   
 [16]|C/D|A/B|B/C|   |   |   |   		
 [17]|・ |・ |・ |   |   |   |   		
 [18]|・ |・ |・ |   |   |   |   	

?@〜?Bにあらかじめ決めた組み合わせがあり、縦に並べてあります。
当番を入れたいのはD5のような日にちセルの下のセルです。
ちなみにこんなことができるのかはわからないのですが、以下のような条件で毎回ランダムな組み合わせを作成し、カレンダーに割り当てていくことは可能でしょうか。
・班員は5人
・当番は平日のみ
・1日あたりの人数は2人
・同じ人が2日連続で当番を担当することはNG(最低でも中1日必要)
・1月当たりの当番回数は極力公平にするが、誰かが1回多く担当することは問題ない。
・同じ組み合わせは極力避ける。

これができれば?@〜?Bの組み合わせを事前に決める必要がないようですが、やり方がわからなかったので手作業で3種類作成しました。

アドバイスお願いいたします。

(み) 2023/03/31(金) 13:36:35


 >あらかじめ決めた組み合わせがあり、縦に並べてあります				

 [14]|?@ |?A |?B |				
 [15]|A/B|C/D|E/A|				
 [16]|C/D|A/B|B/C|

 上記のレイアウトでは、私は...出来ません。				

 >以下のような条件で毎回ランダムな組み合わせを作成し、				
 >カレンダーに割り当てていくことは可能でしょうか				
 >・当番は平日のみ				

 あなたの平日の定義はなんですか?				

 土曜日は元々は平日に属していたが、 				
 近年では…日曜日とともに平日ではない日に入る傾向にある。				

 平日は月曜日から金曜日を指すことが一般的になりつつある?				
 …でいいですか?				

 >・班員は5人				

 であれば、平日(月曜日から金曜日)に丁度良く下記の				
 表のように割り当てが可能です。				

 C4セルの月を入力規則で作成し、月を変更すれば、				
 スタッフの組み合わせを、ランダムに配置する事は可能です。				

 ※下記は...曜日毎にですが、組合せを変更しています。				
 今月の当番は、何曜日か認識できるのでバラバラより				
 私は、この方法が最適に思えます。				

     |[A] |[B]|[C]|[D]|[E]|[F]|[G]				
 [1] |2023|年 |  4|月  				
 [2]				
 [3] |日  |月 |火 |水 |木 |金 |土 				
 [4] |  26| 27| 28| 29| 30| 31|  1				
 [5] |    |   |   |   |   |   |休 				
 [6] |   2|  3|  4|  5|  6|  7|  8				
 [7] |休  |D/B|E/C|A/D|B/E|C/A|休 				
 [8] |   9| 10| 11| 12| 13| 14| 15				
 [9] |休  |D/B|E/C|A/D|B/E|C/A|休 				
 [10]|  16| 17| 18| 19| 20| 21| 22				
 [11]|休  |D/B|E/C|A/D|B/E|C/A|休 				
 [12]|  23| 24| 25| 26| 27| 28| 29				
 [13]|休  |D/B|E/C|A/D|B/E|C/A|休 				
 [14]|  30|  1|  2|  3|  4|  5|  6				
 [15]|休  |   |   |   |   |   |   				

 因みに、4月から5月に…C1セルを変更したら				
 下記のようにランダムに、組合せが変更します。				

 [3] |日  |月 |火 |水 |木 |金 |土 				
 [4月] |休|D/B|E/C|A/D|B/E|C/A|休 				
 [5月] |休|E/A|B/C|D/E|A/B|C/D|休 				

 >・同じ人が2日連続で当番を担当することはNG(最低でも中1日必要)				

 月に応じて、曜日で組合せを決定するので…上記のシステムで良いなら				
 同じ人が2日連続で当番を担当することはありません。				

 《 その他条件 》				

 私の場合ですが…他に、補助シートが 2枚必要です。				

 1. ランダム抽選用シート				
 2. 祝日シート				

 ※作りこみは、全て関数です。				
 カレンダーの表だけ、条件付き書式を使用します。				

(あみな) 2023/04/01(土) 11:03:24


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.