[[20240411154616]] 『カレンダーの色分け』(直) ページの最後に飛ぶ

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

 

『カレンダーの色分け』(直)

 カレンダーを営業日ごとに色分けしたいです。
 平日営業日は交互にセルの色を色分け、土日祝の休日は前日営業日の色にしたいです。

 C1に西暦 F3に月の数字 C5がカレンダーの始まりです。
 C5は=DATE(C1,F3,1)-WEEKDAY8DATE(C1,F3,1))+1 C6からはC5+1で
 日曜日始まり、1週間で行が変わります。
 祝日(リスト)、土日、前月と後月の日付の文字色は条件付き書式で変更しています。

 例) 11日は祝日

  C5  C6  C7  C8  C9  C10  C11
  日  月  火  水  木  金   土
          1   2   3   4    5
          赤  黄  赤  黄   黄
  6   7   8   9   10  11   12
  黄  赤  黄  赤  黄  黄   黄

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

< 使用 アプリ:Excel LTSC 、使用 OS:Windows11 >


> C5 C6 C7 C8 C9 C10 C11
列の間違いですよね。
(?) 2024/04/11(木) 16:33:16

 (?)さん
 はい。すみません間違いです。
 C5 D5 E5・・・と続きます。
 曜日はC4〜I4に入力されています。
(直) 2024/04/12(金) 14:12:10


>=DATE(C1,F3,1)-WEEKDAY8DATE(C1,F3,1))+1
WEEKDAY8DATEってどういう意味なんですかね。
それでよくカレンダーができましたね。
(わからん) 2024/04/12(金) 16:56:25

 C6の条件式
 赤:=LET(fd,DATE($C$1,$F$3,1),IF(EOMONTH(C5,-1)<>fd-1,0,MOD(NETWORKDAYS(fd,C5,祝日),2)=NETWORKDAYS(fd,fd,祝日)))
 黄:=LET(fd,DATE($C$1,$F$3,1),IF(EOMONTH(C5,-1)<>fd-1,0,MOD(NETWORKDAYS(fd,C5,祝日),2)<>NETWORKDAYS(fd,fd,祝日)))

(半平太) 2024/04/12(金) 20:14:33


 >WEEKDAY8DATEってどういう意味なんですかね。
 すみませんこちらも間違いです。
 DATE(C1,F3,1)-WEEKDAY(DATE(C1,F3,1))+1 でした。
(直) 2024/04/18(木) 12:44:00

 半平太さん

 返信遅くなってしまい申し訳ありません。
 作業しておりますPCがセキュリティー上USBが挿せず、
 インターネット接続もされておらず、なかなか作業に取り掛かれませんでした。
 ご教授頂きました方法で変更する事が出来ました。
 これで年末作業が1つ減りました。
 本当にありがとうございました。
(直) 2024/04/23(火) 16:03:43

 >洋平太さん

 先日はありがとうございました。
 1ヶ月ごとの設定はできたのですが、これらを年間での設定はできませんでしょうか。
 西暦を変更すると、月の始まりが赤だったり黄色だったり年ごとに変わるので
 変更する時は、月ごとに条件付き設定で変更しています。
(直) 2024/05/16(木) 13:46:13

 月初の色と、その前月末の色の連続性が必ずしも一致しないけどいいのかなあ、
 と思っていました。(でも質問者さんが納得しているなら.....)

 次のようなシートを別途作成しておき、これを利用するような原始的方法でよいのではないでしょうか。

          A      B        F
 1 2024/5/1      r        祝日をF列に列挙しておく
 2 2024/5/2      (*)
 3 2024/5/3

   (*)
    =IF(OR(IFERROR(MATCH(A2,F:F,0)>0,0)>0, WEEKDAY( A2,2)>=6 ),
        B1,
        IF(B1="r","y","r")
     )
   という式にして、以下コピーペイストします。

 あとは、元シートに条件付き書式で、
 VLOOKUPでB列を表引きして、"r"か"y"かで色を変えたらいいんじゃないでしょうか。    
(xyz) 2024/05/16(木) 17:53:36

 ちょっと事情が呑み込めないのですが、
  当初、1カ月分だけの話で、前月・後月には色を付けない。
  初日は赤色でスタート
 と解釈したのですが、それが違う(ことになった)と言う話なんですか?

(半平太) 2024/05/16(木) 19:44:30


 >xyzさん
 ありがとうございます。
 別シートに作業用を別途作る方法、1度試してみます!

 >洋平太さん
 すみません。私の説明不足です。
 カレンダー自体は年間カレンダーです。
 前後月にも赤黄で塗りつぶしの色分けしていて、
 初日が赤の場合と黄色の場合があります。

 「祝日(リスト)、土日、前月と後月の日付の文字色は条件付き書式で変更」
 と説明した事で誤解を招いてしまいました。

    C   D   E   F  G   H   I
 C4 日  月  火  水  木  金  土
 C5 29  30  1   2   3   4   5
            赤  黄  赤  黄  黄
 C6 6   7   8   9   10  11  12
    黄  赤 黄 赤 黄 黄 黄
 C7 13  14  15  16  17  18  19
    黄  赤...
 C8 20  21  22  23  24  25  26
    赤  黄...
 C9 27  28  29  30  31  1   2
    黄  赤...    黄

 次の月
 C10 日  月  火  水  木  金  土
 C11  27  28  29  30  31  1   2
             赤  赤
 C12  3   4   5   6   7   8   9
    赤 黄...

 条件付き書式で1ヶ月ごとに、祝日と土日の文字色を赤色にしており、
 初月のC5の29日30日、C9の1日2日や
 次の月のC11、27〜31日などは文字色を薄いグレー色にしております。
 薄いグレーにしている日付部分は、塗りつぶしにはしなくて良いです。

 説明が下手でもうしわけないです。

(直) 2024/05/17(金) 13:39:14


 補足です。
 >前月と後月の日付の文字色は条件付き書式で変更しています。
 とあるので、そこは言及していません。そこは今まで通りにしてください。
 条件付き書式を三段階にすればよい、という認識でした。
 (1)当月以外の日付部分を最上位かつ"条件を満たしたら停止"、
 (2)赤色・黄色判定を第二順位、第三順位の判定にするということです。

 そして、(2)の判定にあたっては、年間を通じた
 >平日営業日は交互にセルの色を色分け、土日祝の休日は前日営業日の色にしたいです。
 というルールを実現する方法を書いた積りです。

(xyz) 2024/05/17(金) 15:06:36


 ふーむ、月には大小あるので、
 レイアウトがちょっと腑に落ちないですけど、固い事は言わないことにして・・

 赤(上)、黄(下)
 =AND(ISNUMBER(C5),MOD(NETWORKDAYS(DATE(2024,10,1),C5,祝日),2) ,IF(ISTEXT(C4),DAY(C5)<=DAY($I5),DAY($C5)<=DAY(C5)))
 =AND(ISNUMBER(C5),MOD(NETWORKDAYS(DATE(2024,10,1),C5,祝日),2)=0,IF(ISTEXT(C4),DAY(C5)<=DAY($I5),DAY($C5)<=DAY(C5)))

 ※「日」、「月」などは、文字データであるものとします。

(半平太) 2024/05/17(金) 15:31:30


 >xyzさん
 補足説明ありがとうございます。
 また後日になりますが試してみます!

 >半平太さん
 なんとも説明下手ですみません・・・
 西暦の数値を変更すると、全ての月の日付けの位置が変わるように設定しておりまして、
 文字データではなくて(泣)
 現在あるカレンダー様式を作業用として、別場所に文字データとして表示させて、
 ご教授頂いた書式を適用させる・・・という方法になりますでしょうか?
(直) 2024/05/17(金) 16:27:41

 > 現在あるカレンダー様式を作業用として、別場所に文字データとして表示させて、
 > ご教授頂いた書式を適用させる・・・という方法になりますでしょうか?

 そんなかったるい方法にはなりませんが、
 一体どんな数式で、こんな結果を描けているのですか?
            ↓ 
 行  __C__  _D_  _E_  _F_  _G_  _H_  _I_
  1   2024                              
  2                                     
  3                   10               
  4  日     月   火   水   木   金   土 
  5   29   30    1    2    3    4    5
  6    6    7    8    9   10   11   12
  7   13   14   15   16   17   18   19
  8   20   21   22   23   24   25   26
  9   27   28   29   30   31    1    2
 10  日     月   火   水   木   金   土 
 11   27   28   29   30   31    1    2
 12    3    4    5    6    7    8    9

 特に曜日の行が、月の大小に呼応して、
 自動的に10行目だったり、11行目だったり、移動する仕掛けをご説明ください。

(半平太) 2024/05/17(金) 17:00:15


 >半平太さん

 前回の説明でC9の続きとしてC10と表記してしまっておりましたが、
 C10までが1ヶ月で、F11に月の数字、C12の行に曜日、C13からC18までが日付で
 その後の月もF19に月、C20の行が曜日、C21〜26まで日付と続いていきます。
 抜けておりまして申し訳ないです。

 1ヶ月はすべて6行にしております。
 1ヶ月の1行目1つ目のセルに
 =DATE(C1,F3,1)-WEEKDAY8DATE(C1,F3,1))+1 ←F3部分は月の数字のセルなので1ヶ月ごとに変更しています。
 としております。
(直) 2024/05/20(月) 16:13:33

>1ヶ月はすべて6行にしております。
日付を塗りつぶすのですか。

(?) 2024/05/20(月) 17:00:15


 赤:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8)=0,IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))
 黄:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8)  ,IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))

(半平太) 2024/05/20(月) 19:29:49


 >?さん

 当月のみセルを塗りつぶしたいです。文字色は平日黒、休日赤です。
 6行の内の前後月は、塗りつぶし無しの文字色グレーにしています。
(直) 2024/05/21(火) 11:27:38

 >半平太さん

 何度もご教授頂きありがとうございます!試してみます。
(直) 2024/05/21(火) 11:29:42

 >半平太さん

 なぜか適用されずです。。。
 他の月でも(C5)の部分を変更すれば適用できますか?
 (r,MOD(ROW()-5,8)=0 の-5,8の部分も変更が必要ですか?
 シリアル値も関係ありますでしょうか?
 分からない部分が多く申し訳ないです。
 ご教授頂ければ幸いです。
(直) 2024/05/29(水) 14:38:20

 >他の月でも(C5)の部分を変更すれば適用できますか?
 > (r,MOD(ROW()-5,8)=0 の-5,8の部分も変更が必要ですか?

 ちょっと、事情が呑み込めません。
 何も変更する必要はないです。

 条件付き書式の適用範囲を「$C$5:$I$100」にしてください。
 (もし、もっと広ければ、それに応じて範囲を広げてください)

 >シリアル値も関係ありますでしょうか?
 日付のセルは、数式でシリアル値を算出している、との前提で考えていますが・・

(半平太) 2024/05/29(水) 15:42:56


 >半平太さん

 適用範囲広げてみましたが、なぜか適用される月もあれば
 土日祝が反映されない月、平日なのに連続される月などバラバラで頭を抱えております...
 そして、 赤:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8)=0,IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0)))) 
 の方は全く適用されずで...

 もう1度、1からカレンダー作り直してみます!
(直) 2024/05/31(金) 14:50:00

 >平日なのに連続される

 こちらでテストしますので、その連続すべきでない2つのセルの
  (1)アドレス
  (2)数式
  (3)値(=日付)
 を教えてください。

(半平太) 2024/05/31(金) 15:36:13


 >半平太さん

 ありがとうございます。
 (1)G78   G79
 (2)F78+1 G78+1
 (3)7     8
 現在テストで2023年のカレンダーで作成しています。
 月の間に空白行がありますので、9月のカレンダーです。
 よろしくお願い致します。

(直) 2024/05/31(金) 16:42:54


 > (1)G78   G79
 > (2)F78+1 G78+1
 > (3)7     8

 なぜ、G78セルの真下に次の日があるのですか?
 普通、G78セルの次の日は、右隣りのH78だと思うのですが?

 7は、実際は 2023/9/7 と言うシリアル値ですね?

 (半平太) 2024/05/31(金) 17:03:35

 >半平太さん

 >なぜ、G78セルの真下に次の日があるのですか?
 >普通、G78セルの次の日は、右隣りのH78だと思うのですが?
 >7は、実際は 2023/9/7 と言うシリアル値ですね?

 その通りです。
 G78とH78でした。
 2023/9/7 で間違いなかったです。
 H78は、 2023/9/8 でした

(直) 2024/06/05(水) 13:03:07


 それでは、78行目のどこか空いているセルに以下4つの数式を入れてみてください。

 ※下図では、Q78からT78に入れてみた結果

 (1) Q78セル =AND(G78<>"",MOD(NETWORKDAYS(36800,G78,祝日),2),LET(r,MOD(ROW()-5,8),IF(r<3,DAY(G78)<22,IF(r<6,DAY(G78)>14,0))))
 (2) R78セル =AND(H78<>"",MOD(NETWORKDAYS(36800,H78,祝日),2),LET(r,MOD(ROW()-5,8),IF(r<3,DAY(H78)<22,IF(r<6,DAY(H78)>14,0))))
 (3) S78セル =AND(G78<>"",MOD(NETWORKDAYS(36800,G78,祝日),2)=0,LET(r,MOD(ROW()-5,8),IF(r<3,DAY(G78)<22,IF(r<6,DAY(G78)>14,0))))
 (4) T78セル =AND(H78<>"",MOD(NETWORKDAYS(36800,H78,祝日),2)=0,LET(r,MOD(ROW()-5,8),IF(r<3,DAY(H78)<22,IF(r<6,DAY(H78)>14,0))))

 私の方では、以下の結果になりました。
 <結果図>
 行  __Q__  __R__  __S__  __T__
   G黄色   H黄色  G赤    H赤   
 78  FALSE   TRUE   TRUE  FALSE

 そちらではどう出ましたか?

 因みに私の方の結果は、G78が赤、H78が黄色になるべきとの判定で、色が連続していない事を示していますが・・

(半平太) 2024/06/05(水) 13:37:15


 >半平太さん

 返信遅くなり申し訳ないです。
 結果は半平太さんと全く同じになりました。
 ですがなぜか色の適用がされず・・・
 他の部分も気になったので、祝日なのに色が変わってしまっている部分と前日を確認したらどちらもTRUEでした。
 なのに色が前日と違う・・・というか前日が色が適用されてないセルだからという可能性もあるかもしれません・・・

 赤:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8)=0,IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0)))) 
 の方は全く適用されずで...
 と先日申しておりましたが、6/5に教えていただいた数式を参考に、LETの前に=0を入力した所、赤色も適用する事ができました!
 ですがやはり、赤色も全てのセルに適用されずです・・・ 

(直) 2024/06/12(水) 16:13:31


 >半平太さん

 先ほど書き込みしました、
「他の部分も気になったので、祝日なのに色が変わってしまっている部分と前日を確認したらどちらもTRUEでした。
 なのに色が前日と違う・・・というか前日が色が適用されてないセルだからという可能性もあるかもしれません・・・」
 という事でしたが、他の黄色平日セルと翌日赤色祝日セルも確認した所、どちらもFALSEでした。
 なので前日が色適用されていないのは関係なさそうです。
(直) 2024/06/12(水) 16:41:15

 私が関与できるのはこの辺までです。
 他の回答者のレスにご期待ください。

 試しに、新規ブックを作成し、
 Sheet1の「シート見出し」を右クリックして、
 「コードの表示」を選択すると、 VBE画面が出ますので、
 そこに下記コードを貼り付けてください。

 貼り付けたら、F5キーでマクロ(onlyOnce)を実行してみてください。
 何か参考になるシートが出来上がるかも知れません。

 Sub onlyOnce()

     With Sheets("Sheet1")
         Rem 標準外書式セルをまとめて処理
         .Range("C5:I10,C13:I18").NumberFormatLocal = "d"

         Rem 生データのセルをまとめて処理
         .Range("C1").Value = 2023
         .Range("F3").Value = 12
         .Range("C4,C12").Value = "日"
         .Range("D4,D12").Value = "月"
         .Range("E4,E12").Value = "火"
         .Range("F4,F12").Value = "水"
         .Range("G4,G12").Value = "木"
         .Range("H4,H12").Value = "金"
         .Range("I4,I12").Value = "土"

         Rem 数式セルをまとめて処理
         .Range("C5,C13").FormulaR1C1Local = "=DATE(R1C3,R[-2]C[3],1)-WEEKDAY(DATE(R1C3,R[-2]C[3],1))+1"
         .Range("D5:I5,D13:I13").FormulaR1C1Local = "=RC[-1]+1"
         .Range("C6:I10,C14:I18").FormulaR1C1Local = "=R[-1]C+7"
         .Range("F11").FormulaR1C1Local = "=MOD(R[-8]C,12)+1"
     End With

     With Range("K2:K10")
         .Interior.Color = vbYellow
         .Name = "祝日"
     End With
     Range("K1") = "祝日"

     With Range("C5:I100")
         .FormatConditions.Add Type:=xlExpression, Formula1:= _
         "=AND(C5<>"""",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8),IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))"
         With .FormatConditions(1).Interior
             .Color = vbYellow
         End With
         .FormatConditions(1).StopIfTrue = False

         .FormatConditions.Add Type:=xlExpression, Formula1:= _
         "=AND(C5<>"""",MOD(NETWORKDAYS(36800,C5,祝日),2)=0,LET(r,MOD(ROW()-5,8),IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))"
         With .FormatConditions(2).Interior
             .Color = vbRed
         End With
         .FormatConditions(1).StopIfTrue = False
     End With

     Range("C11:I18").AutoFill Destination:=Range("C11:I58"), Type:=xlFillDefault     
 End Sub

(半平太) 2024/06/12(水) 20:40:49


 >半平太さん

 ご返信ありがとうございました。
 まだご教授頂いたマクロは試せておりませんが、1列適用されないなどの少し規則性がある部分もあったので、色々試した所、
 先日教えて頂いた 
 赤:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2)=0,LET(r,MOD(ROW()-5,8),IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))
 黄:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2),LET(r,MOD(ROW()-5,8)  ,IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))
 この式の
 「LET(r,MOD(ROW()-5,8)」←こちらの-5を-6に8を6又は7にし、
 「IF(r<3,DAY(C5)<22,IF(r<6,DAY(C5)>14,0))))」←こちらの部分を
 「IF(r<7,DAY(C5)>35,0)))」にした所、なぜか適用されました。
 なぜ適用されたのか全く分からずなのですが、考えられる理由はありますでしょうか?

(直) 2024/06/18(火) 15:25:34


 >xyzさん

 なかなか他の方法で適用できず、試行錯誤してみましたがわからずで、xyzさんの方法を試してみました。
 少し違いますが、作成しているカレンダー表を基に別セルにrとyで表記まではいけましたが、
 カレンダー表部分に条件付き書式で、rとyのセルを参照して色設定しましたが反映されませんでした。

 xyzさんの通り他シートに日付の列とr・yの列を作成した場合は、日付の列の色を変更できました。
 ただ、ここから「VLOOKUPでB列を表引きして、"r"か"y"かで色を変えたら」との事でしたが
 カレンダー表と同じ日付のA列(日付の列)と一緒であれば、B列のr・yで色変更という解釈で合っていますか?

(直) 2024/07/03(水) 14:28:04


 >半平太さん

 マクロの数式ありがとうございました。
 教えて頂いた数式をそのままコピーして、エクセルに貼り付けしてみた所
 2023年の12月と1月〜6月のカレンダーが表示されました!
 ですが色が反映されずでした。。。
 エクセルのK列に祝日を数日入力しみましたが変わらず。。。

 素人解釈ですが
 With Range("C5:I100")
         .FormatConditions.Add 〜という所からYellowとRedの文字がありましたので、色表示されるのかなと思ったのですがならず。
 祝日のK列はYellowになっております。
(直) 2024/07/03(水) 15:30:42

 すっかり忘れています。こういうことだったかと思います。

  >前月と後月の日付の文字色は条件付き書式で変更しています。
 とあるので、そこは言及していません。そこは今まで通りにしてください。

  条件付き書式を三段階にすればよい、という認識でした。
  (1)当月以外の日付部分の淡色表示             "条件を満たしたら停止"にチェックしてください。
     ここは今までどおりにしてください。

  (2)赤色判定
     条件                                               書式
     =VLOOKUP(セル,他シート!$A$1:$B$365,2,FALSE)="r"    赤色で塗りつぶす

  (3)黄色判定
     条件                                               書式
     =VLOOKUP(セル,他シート!$A$1:$B$365,2,FALSE)="y"    黄色で塗りつぶす

    "セル"と書いたのは条件付き書式の適用範囲の最左最上位置のセルです。
    なお、そのセルが空白の時の処理が必要かもしれません。

(xyz) 2024/07/03(水) 16:12:28


 >色が反映されずでした。

 そんなハズないと思うのですが(こちらは正常に色が付きますけど)

 LET関数が使えないバージョンなのですかね?

 それにしては、こんな返事があったですよね。その時もLET関数は使っていたんですが。。 なにか辻褄が合わない気がします。
         ↓
 >ご教授頂きました方法で変更する事が出来ました。
 > これで年末作業が1つ減りました。
 > 本当にありがとうございました。
 >(直) 2024/04/23(火) 16:03:43

(半平太) 2024/07/03(水) 16:29:43


 >xyzさん
 試すのが遅くなってしまい申し訳ありませんでした。
 自分なりに調べて=VLOOKUP(セル,他シート!$A$1:$B$365,2,FALSE)="r" の数式までは
 解釈できていたのですが、なぜか適用されずで、間違っているのかなと思っておりました。
 見比べてみた所、初歩的なスペル間違いをしており、適用する事が出来ました。
 ありがとうございました!
(直) 2024/07/03(水) 16:49:06

  LET関数が使えないなら
         ↓  
  黄色:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2)  ,MOD(ROW()-5,8),IF(MOD(ROW()-5,8)<3,DAY(C5)<22,IF(MOD(ROW()-5,8)<6,DAY(C5)>14,0)))
  赤色:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2)=0,MOD(ROW()-5,8),IF(MOD(ROW()-5,8)<3,DAY(C5)<22,IF(MOD(ROW()-5,8)<6,DAY(C5)>14,0)))

(半平太) 2024/07/03(水) 16:57:03


 >半平太さん
 マクロを試してみたのは、ネットに繋がるPCで、カレンダー作業をしているPCではありませんでした。
 カレンダー作業をしているPCですが、USBが挿せない為、入力ミスがあったら適用されないかなと思い、
 こちらの掲示板に書き込みさせてもらっているPCで、そのままコピーしてエクセルのマクロに貼り付けました。
 LET関数が使えないバージョンのPCがあるんですね(泣)
(直) 2024/07/03(水) 17:00:14

 >半平太さん
 何度もありがとうございます。
 また試してみます!!
(直) 2024/07/03(水) 17:01:23

 >半平太さん

 先日ご教授頂いた、
 > LET関数が使えないなら
          ↓  
  黄色:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2)  ,MOD(ROW()-5,8),IF(MOD(ROW()-5,8)<3,DAY(C5)<22,IF(MOD(ROW()-5,8)<6,DAY(C5)>14,0)))
  赤色:=AND(C5<>"",MOD(NETWORKDAYS(36800,C5,祝日),2)=0,MOD(ROW()-5,8),IF(MOD(ROW()-5,8)<3,DAY(C5)<22,IF(MOD(ROW()-5,8)<6,DAY(C5)>14,0)))
 ですが、なぜか月初め1週目だけ色が適用されませんでした。
 それ以外の週は適応されており、祝日も設定できておりました!

 あと、マクロの入力をした後の条件付き書式が4つ設定されており、すべて適応範囲はC5〜I100で、
 1つ目
 黄=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2),LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 2つ目(条件を満たす場合は停止)
 赤=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2)=0,LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 3つ目(条件を満たす場合は停止)
 書式設定なし=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2),LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 4つ目(条件を満たす場合は停止)
 書式設定なし=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2)=0,LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 となっておりましたが、書式設定なしの部分も色を変更してみましたが、なにも適応できておりませんでした。

(直) 2024/07/05(金) 15:13:20


 > あと、マクロの入力をした後の条件付き書式が4つ設定されており、すべて適応範囲はC5〜I100で、

 マクロでは2つしか設定していないので、4つはあり得ません。
 まっさらなブックでやってください。

 申し訳ないですが、これ以上トラブルシュートをする気が起きないので、降ります。

(半平太) 2024/07/05(金) 16:05:01


 >半平太さん

 長い間ご教授頂きありがとうございました。
 至らない点が多々あり、大変ご迷惑おかけしました。
 洋平太さんにコメントいただけて良かったです!
(直) 2024/07/08(月) 16:15:45

  まっさらなシートで再度検証された結果を書かれたらいかがですか?
  少なくとも4つの条件付き書式などということは解消した結果を報告されたらいかがですか?
  最後の助言も聞く耳持たずですか、残念ですね。
# 質問者さんがボールを握ったまま閉じてしまうのは、回答者の端くれとして残念な思いでいます。

 それと、長いこと会話をされたのなら、名前くらい間違えずに書いて欲しかったです。

(xyz) 2024/07/08(月) 19:11:49


 >xyzさん

 なかなか検証する時間が無く、先に感謝を述べたくてコメントしました。
 そして、降りたいとまで言わせてしまったので、またこうなりましたとお伝えするのはご迷惑になるのではと思っておりました。

 新規シートでもう1度試しました。
 黄=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2),LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 赤=AND($E:$E<>"",MOD(NETWORKDAYS(36800,$E:$E,祝日),2)=0,LET(5:5,MOD(ROW()-5,8),IF(5:5<3,DAY($E:$E)<22,IF(5:5<6,DAY($E:$E)>14,0))))
 の2つでした。
 色は反映されませんでした。ご迷惑おかけしました。

 そしてなにより半平太さん、お名前を間違えてしまい申し訳ありません。
 お付き合いいただき本当にありがとうございました。
(直) 2024/07/09(火) 13:59:01

コメント返信:

[ 一覧(最新更新順) ]


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