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も見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
Excelで当番表の作成(休み考慮、完全ランダム)
Excel(エクセル)
-
エクセルで少し複雑な当番表を作成したい。
Excel(エクセル)
-
Excelにて年間の当番表作成したい
Excel(エクセル)
-
-
4
掃除当番表の作り方でいい方法がないでしょうか。
その他(ソフトウェア)
-
5
エクセル 当番表の作り方 エクセルで土日祝日を除いた、平日のみの当番表を作りたいです。 カレンダーま
Excel(エクセル)
-
6
従業員増減対応で当番種類の増減対応な当番表
その他(Microsoft Office)
-
7
エクセルで当番表を作成したいです。
Excel(エクセル)
-
8
C列にF列の担当者(A〜)を順番に入れて、当番表を作りたいです。 C列にいれる数式を教えてください。
Excel(エクセル)
-
9
エクセルで不可日と祝祭日の考慮してランダムに毎日の当番表を作成したいと思っています。
Excel(エクセル)
-
10
エクセル関数で1〜12の数字がループするMOD関数はできたのですが、7.8.9.10.11.12.7
Excel(エクセル)
-
11
エクセルでシフトをランダムで作るにはどうしたらいいでしょう
固定IP
-
12
Excel 数式を入れているため、当番が繰り返し循環しない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VB2010でCSVファイルの読み込み
-
乱数の桁数指定、または範囲指定。
-
DoEventsが必要な理由について
-
Escキーを押すと、中断する時と...
-
Do whileでExitせず、ループの...
-
範囲指定したセルを1つずつ飛...
-
vbscriptでIE自動入力(途中で...
-
pythonでファイルのコメント行...
-
エクセル関数で1〜12の数字がル...
-
「偶数・奇数の和」のフローチ...
-
流れ図(フローチャート)が分か...
-
引数?アルファベットの使い分...
-
WHILE (CHKIMG(”A.bmp”)=FALSE)...
-
VBAで3秒だけ時間を止めたい
-
DOSコマンドのループ内のTIMEコ...
-
UWSCに制限時間を付けたいです
-
VBAでの一時停止と再開の方法
-
エクセル VBA do loop if then
-
再帰関数のインライン展開
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UWSCの終了の仕方
-
画面を強制的に再描画させる方法
-
Escキーを押すと、中断する時と...
-
DOSコマンドのループ内のTIMEコ...
-
VBAでの一時停止と再開の方法
-
VBAで3秒だけ時間を止めたい
-
範囲指定したセルを1つずつ飛...
-
CSVファイルの特定の行だけを読...
-
vb.netからエクセル関数書き込み
-
ループフリー
-
GIFアニメをループさせたくない
-
VBA for i=1 to lastrow
-
DoEventsが必要な理由について
-
乱数の桁数指定、または範囲指定。
-
多重ループの抜けだし方
-
アクティブセルから、A列最終行...
-
Do whileでExitせず、ループの...
-
ボタンが押された時にループか...
-
データベースをEOFまでループさ...
-
テキストボックスの名前に変数...
おすすめ情報
回答ありがとうございます
確認事項1に関して役割が重なるのはOKです
確認事項2については画像が間違えてましたすみません
1/24がAさんに戻る(Bさんが1回休み)方が正しいです
よろしくお願いします