
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も見ています
-
エクセルで少し複雑な当番表を作成したい。
Excel(エクセル)
-
Excelにて年間の当番表作成したい
Excel(エクセル)
-
Excelで当番表の作成(休み考慮、完全ランダム)
Excel(エクセル)
-
-
4
C列にF列の担当者(A〜)を順番に入れて、当番表を作りたいです。 C列にいれる数式を教えてください。
Excel(エクセル)
-
5
エクセル 当番表の作り方 エクセルで土日祝日を除いた、平日のみの当番表を作りたいです。 カレンダーま
Excel(エクセル)
-
6
エクセルで作成したカレンダーに「当番の名前」を自動的に入力する方法をお
その他(Microsoft Office)
-
7
当番表の作成について
Excel(エクセル)
-
8
エクセルで当番表を作成したいです。
Excel(エクセル)
-
9
エクセルで旗当番表を作っています あとひといきなんですができません
Excel(エクセル)
-
10
従業員増減対応で当番種類の増減対応な当番表
その他(Microsoft Office)
-
11
エクセル 年間の当番表 ローテーションに振り分ける方法がわかりません。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
素数表について。
-
流れ図(フローチャート)が分か...
-
画面を強制的に再描画させる方法
-
乱数の桁数指定、または範囲指定。
-
Escキーを押すと、中断する時と...
-
CSVファイルの特定の行だけを読...
-
多重ループの抜けだし方
-
テキストファイルの行数を指定...
-
「偶数・奇数の和」のフローチ...
-
VB2010でCSVファイルの読み込み
-
ループ内での条件処理
-
vb.netです。2次元配列の要素を...
-
テキストボックスの名前に変数...
-
GIFアニメをループさせたくない
-
アクティブセルから、A列最終行...
-
範囲指定したセルを1つずつ飛...
-
【VBA】全て空白のセルの列の非...
-
なぜⅰなのか?
-
引数?アルファベットの使い分...
-
Javaでゲーム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
流れ図(フローチャート)が分か...
-
CSVファイルの特定の行だけを読...
-
範囲指定したセルを1つずつ飛...
-
VBAでの一時停止と再開の方法
-
乱数の桁数指定、または範囲指定。
-
VBA for i=1 to lastrow
-
VBAで3秒だけ時間を止めたい
-
vb.netです。2次元配列の要素を...
-
エクセルの当番表を作っていま...
-
vb.netからエクセル関数書き込み
-
DOSコマンドのループ内のTIMEコ...
-
「偶数・奇数の和」のフローチ...
-
GIFアニメをループさせたくない
-
Do whileでExitせず、ループの...
-
VB2010でCSVファイルの読み込み
-
【VBA】全て空白のセルの列の非...
-
アクティブセルから、A列最終行...
おすすめ情報
回答ありがとうございます
確認事項1に関して役割が重なるのはOKです
確認事項2については画像が間違えてましたすみません
1/24がAさんに戻る(Bさんが1回休み)方が正しいです
よろしくお願いします