
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.3です。
前回回答の文章に誤りがありました。訂正してお詫びいたします。
(誤)全員一斉に「休」となることはという事態は発生しないという前提です。
(正)全員一斉に「休」となるという事態は発生しないという前提です。
No.3
- 回答日時:
t_fumiakiさんが、VBAを投稿されたので、関数による回答を投稿します。
26行目を作業用の行として使用しますので、目障りなら文字色を白にするとか、行自体を非表示にするなどの対応をお願いします。
また、Aさん、Bさん、Cさん、Dさんは、それぞれ「休」となることはあるが、同日に「休」となるのは最大3人までとし、全員一斉に「休」となることはという事態は発生しないという前提です。
まず、B24セルから「トイレ掃除」の表示がスタートしますが、誰からスタートするのかを決めなくてはいけません。
ご質問者の指定はA3セルから、つまり「Aさん」からスタートすることになっています。ここで、A3~A6セルに順番をつけA3=1番、A4=2番、A5=3番、A6=4番とすることにします。
添付画像をご覧ください。
A26セルに「誰からスタートするかを決めたとき、その一つ前の順番の人」の番号を入れます。
つまり、A3セル(Aさん)からスタートするなら、その一つ前の順番の人はA6セル(Dさん)ですので「4」を入力します。
続いてB26セルに、
=IF(INDEX(B$3:B$6,MOD(A26,4)+1)<>"休",MOD(A26,4)+1,IF(INDEX(B$3:B$6,MOD(A26+1,4)+1)<>"休",MOD(A26+1,4)+1,IF(INDEX(B$3:B$6,MOD(A26+2,4)+1)<>"休",MOD(A26+2,4)+1,MOD(A26+3,4)+1)))
という数式を記述し、右方向へオーフィル等で最終列までコピーします。
次にB24セルに、
=INDEX($A$3:$A$6,B26)
という数式を記述し、右方向へオーフィル等で最終列までコピーします。
これで、ご希望の結果が表示されると思います。
VBAの代わりを数式でやろうとしているので、長い数式にななってしまいますが、「休」が変更になったり、後から追加したりしたとき、イベントと連動させないVBAだと再実行しなければいけませんが、数式なら自動的に再計算され表示が修正されるというメリットはあります。


No.2
- 回答日時:
1回だけvbaで答を書きます。
コードの意味は、調べて下さい。
このサイトは半角字下げが出来ないので、全角字下げしてます。
プログラムでは全角を半角スペースに置き替えてね。
Dim WS1 As Worksheet
Set WS1 = Worksheets("Sheet1")
Cnt3 = 2
For Cnt1 = 2 To 12
For Cnt2 = 1 To 4
Cnt3 = Cnt3 + 1
If Cnt3 = 7 Then
Cnt3 = 3
End If
If WS1.Cells(Cnt3, Cnt1).Value <> "休" Then
WS1.Cells(24, Cnt1).Value = WS1.Cells(Cnt3, 1).Value
Exit For
End If
Next Cnt2
Next Cnt1
No.1
- 回答日時:
確認事項1
鍵当番と重なるのはOK?(っぽい!)
確認事項2
1/22にBさんが休みだから飛ばすのは理解できる。
1/24がBさんになっているのはそのため?
それならば次の日(25日)はAさんの当番にしなくてもよいのでしょうか?
多分、例のループの方が簡単な気がしますが、一応確認です。
本当は1/24がAさんに戻る(本当にBさんが1回休み)の方がもっと簡単。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの関数を教えてください 2 2023/01/07 05:27
- Excel(エクセル) エクセルのvlookupについて質問です 3 2023/01/05 15:15
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) Excelの相談 4 2023/03/03 09:51
- Excel(エクセル) 【EXCEL】=で同じ文字列が表示されない 4 2023/06/04 22:38
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) [スライサー]に関して、 1 2022/05/24 21:07
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
Excelで当番表の作成(休み考慮、完全ランダム)
Excel(エクセル)
-
エクセルで少し複雑な当番表を作成したい。
Excel(エクセル)
-
C列にF列の担当者(A〜)を順番に入れて、当番表を作りたいです。 C列にいれる数式を教えてください。
Excel(エクセル)
-
-
4
Excelにて年間の当番表作成したい
Excel(エクセル)
-
5
当番表の作成について
Excel(エクセル)
-
6
掃除当番表の作り方でいい方法がないでしょうか。
その他(ソフトウェア)
-
7
エクセルで作成したカレンダーに「当番の名前」を自動的に入力する方法をお
その他(Microsoft Office)
-
8
エクセル 当番表の作り方 エクセルで土日祝日を除いた、平日のみの当番表を作りたいです。 カレンダーま
Excel(エクセル)
-
9
エクセルでシフトをランダムで作るにはどうしたらいいでしょう
固定IP
-
10
Excel 数式を入れているため、当番が繰り返し循環しない
Excel(エクセル)
-
11
エクセルで当番表を作成したいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
アクティブセルから、A列最終行...
-
Escキーを押すと、中断する時と...
-
EXCEL VBA ユーザーフォームの...
-
WinAPI「MsgWaitForMultipleObj...
-
Do whileでExitせず、ループの...
-
VB2010でCSVファイルの読み込み
-
DOSコマンドのループ内のTIMEコ...
-
データベースをEOFまでループさ...
-
メッセージループを調べすぎてC...
-
UWSCの終了の仕方
-
vb.netです。2次元配列の要素を...
-
エクセルの当番表を作っていま...
-
乱数の桁数指定、または範囲指定。
-
レインボー色ってどうやって表...
-
VBA for i=1 to lastrow
-
UDP:送信レートについて
-
流れ図(フローチャート)が分か...
-
VBS オーバーフローの原因
-
CSVファイルの特定の行だけを読...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
VBAでの一時停止と再開の方法
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
VBAで3秒だけ時間を止めたい
-
DoEventsが必要な理由について
-
vb.netです。2次元配列の要素を...
-
乱数の桁数指定、または範囲指定。
-
DOSコマンドのループ内のTIMEコ...
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
エクセルの当番表を作っていま...
-
UWSCに制限時間を付けたいです
-
Do whileでExitせず、ループの...
-
vb.netからエクセル関数書き込み
-
null 参照の例外が実行時に発生...
-
VB.NETで素因数分解のプログラ...
-
イベントの発生を待つ
-
GIFアニメをループさせたくない
おすすめ情報
回答ありがとうございます
確認事項1に関して役割が重なるのはOKです
確認事項2については画像が間違えてましたすみません
1/24がAさんに戻る(Bさんが1回休み)方が正しいです
よろしくお願いします