※ ChatGPTを利用し、要約された質問です(原文:関数かマクロを利用して塗りつぶしをかけたい)
関数かマクロで塗りつぶしと削除の処理をする方法を教えてください
このQ&Aのポイント
関数を利用して、Excelのシートに休日を塗りつぶし、不要日を削除する方法を教えていただきたいです。
以前に関数を利用して困っていたエクセルの処理について、教えていただけると助かります。
具体的な処理の説明が難しいので、画像を添付します。お知恵をお貸しください。
関数を利用して以下の処理をすることは可能でしょうか?
ご存じの方がいましたらご教授お願いいたします。
もし関数が不可能でしたら、マクロの組み方を教えていただければ幸いです。
「1月」から「12月」までそれぞれのシートと「カレンダー」のシートがあります。
カレンダーのシートにはそれぞれの月の休日と不要日(2月であれば29・30・31)が入力されています。
1)sheet「カレンダー」の休日=月毎のシートの日付の列に塗りつぶしがかかる
2)sheet「カレンダー」の不要日=月毎のシートの不要日が削除または非表示になる
うまく説明できないので、画像を添付させていただきます。
以前、エクセルの関数で困っていた時に、こちらの回答でとっても参考になったものがありました。
どうぞお知恵を貸してください。よろしくお願いいたします。
補足
sheet「2月」の日付行の下に作業行を作成して、「※」が表示されたら塗りつぶしがかかるように条件付書式を試してみましたが、作業行の関数がうまく作成できず処理できませんでした。
1)sheet「2月」セル「B3」に「=IF(B2=カレンダー!$L$2:$L$14,"※","")」
2)「B3」の式を「C3」から「AF3」までコピー
この時、どうしても「G3」(つまりは「6日」の行)にしか「※」が表示されませんでした。
またこの場合に「不要日の削除」の処理は考えつきませんでした。
お礼
回答ありがとうございます。 1)sheet「カレンダー」の表にセルの名前を付ける。 4月の休日には「休日4月」不要日には「不要日4月」、他の月の休日と不要日にもそれぞれ同様に名前を付ける。 2)月毎のシート、例えば「2月」には2つの条件付書式を設定する。 (1)=COUNTIF(休日2月,B$2)>0 ⇒セルの塗りつぶし (2)=COUNTIF(不要日3月,B$2)>0 ⇒フォント:白・罫線:白・塗りつぶし:白 同様に他のシートにも名前を変更して条件付書式を設定しました。 それぞれのセル範囲に名前を付けることと、条件付書式の数式に「COUNTIF」を使うこと。 これだけでイメージ通りの処理が可能になりました。 本当にありがとうございます。