プロが教える店舗&オフィスのセキュリティ対策術

明けましておめでとうございます
いつもお世話になっております

エクセルで1ヶ月単位の勤務表を作っています
現状でも十分使用できますが各月毎のシートで小の月の29日以下の空白列を自動で塗りつぶしたいです
どうぞご教授下さい
詳細は画像参照
よろしくお願いいたします

「エクセルで小の月(29日以下)の空白列を」の質問画像

質問者からの補足コメント

  • すみません私の書き誤りで月末の該当日付がない29日以降の空白列をすべて塗りつぶしたいという意味です
    ※シートは便宜的に1年分作っていますがD2 セルの月を変更すれば自動的に日付or曜日に色が付くようにしていますが月末の該当日付がない29日以降の空白列もすべて塗りつぶしたい
    ご指導いただいたようにやってみましたが私の実力では出来かねますのでお手数かけますが一から判定式のご教示宜しくお願い致します

    「エクセルで小の月(29日以下)の空白列を」の補足画像1
      補足日時:2023/01/05 16:11

A 回答 (2件)

こんにちは



条件付き書式での設定ってことでしょうか?

>小の月の29日以下の空白列
表の説明が全く無いのでよくわかりませんけれど・・
日付が「29日以下」ということは、「1日~29日を対象とする」という意味になります。

仮に、3行目の日付がシリアル値(=エクセルの日付型の値)だとするなら、
・小の月の判定は以下でできます。
 DAY(EOMONTH(G$3,0))<31
・29日以下であることの判定は、以下でできます。
 DAY(G$3)<30
・セルが空白か否かは以下で。
 セル値=""

「上記が全て真の場合に色を付ける」ということなので、G5セルの場合の判定式を
 =(DAY(EOMONTH(G$3,0))<31)*(DAY(G$3)<30)*(G5="")
として、全体に設定すれば可能と思います。

図を見ると、月ごとにシートが別れているようなので、必要なシートにのみ設定すれば、月の判定は不要になるので、
 =(DAY(G$3)<30)*(G5="")
という判定式で十分と思われます。



※ 上記は、ご質問文の「小の月の29日以下の空白列」に基づいていますが、添付の図ではまったく違う位置を塗りたいようなことが記されているようにも読めます。
意味が違う場合でも、同様の考え方を応用すればできるでしょう。

※ もしかすると、月末の該当日付がない部分を塗りたいということでしょうか?
(小の月限定なのか、29日以降という意味なのか、よくわかりませんが・・以下はついでに)

その場合は、「3行目が空白なら」という条件だけで済みそうですね。
可能性があるのは29日以降に限られているので、その範囲だけに設定しておくとして、判定式は
 =AI$3=""
としておけば充分と思われます。
(3行目の値が空白文字列になっているという仮定をしています。異なる場合は修正してください)
    • good
    • 0

指定月の月末より大きければ塗りつぶす条件付き書式で可能では。


月末は、EOMOUTH関数で求めることができます。
https://xn--excel-163dtg3k.com/2018/07/09/%E6%9D …
EOMOUTH関数で求めた列よりも大きく、最大31日目となる列までを
条件付き書式の範囲にすれば、希望していることができると思う。
具体的な数式は、ボケた画像だとだと判断できませんでした。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!