質問: エクセルでグラフの休日表示 只今、x軸が日付のエクセルのグラフを作成していますが、平日と休日の区分けをグラフで表示させるのにはどうすれば簡単に出来るのでしょうか。
回答: (1)エクセルで日付から土日を出すのはweekdayで出来ます。workdayと言うのもあります。しかし休日は国民の祝日、年末年始の慣例休日、会社が決めた休日、地方休日(今もあるかな)などがあり、それらは関数でセットは難しく、プログラムでも複雑になります。 (2)それを人間が判断し、手動等でセットしたとすると、vbaを使えば、グラフの色分け等が可能です。 色を変えるに限っても (a)文字色を変える(b)グラフの色を変える(c)その部分の背景色を変える(c)マーカーの色を変えるなどがあり得ますが、(b)を考えます。 データ例でa1:c6に (a列) (b列) (c列) a20 b30 c41 d51 e30 f60 c列の0は休日でない日、1は休日とします。これをどう言う風にセットするかは、いま問題にしないことにします。 a1:b6を範囲指定して棒グラフを描き、 vbeの標準モジュールに下記を貼りつけ、f5キーを押して実行します。 sub test01() for i = 1 to 6 if worksheets("sheet1").cells(i, 3) = 1 then activechart.seriescollection(1).points(i).select with selection.interior .colorindex = 3 .pattern = xlsolid end with end if next i end sub これでc、dの棒グラフが赤色になりました。 グラフを描くステップも自動化したければ、マクロの記録を採ってみて、前半部に入れてください(略)。