[[20160116194845]] 『ガンチャートで開始日・終了日だけ色をかえたい。』(ゆう) ページの最後に飛ぶ

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

 

『ガンチャートで開始日・終了日だけ色をかえたい。また該当セルに開始日・終了日をマクロボタンで入力したい。』(ゆう)

初めまして。
現在ガンチャートを条件付き書式で作成しています。

現在作成中のガンチャートの一部キャプチャ画像に
質問内容を記載し下記URLにアップしました。
http://7.gigafile.nu/c07521aa7917d39fa053d9cd693ca32a4-0123

文章で伝えるのがへたくそでへたくそなりにまとめたのですが、
もし分かれば教えていただければと思います。

宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows8 >


 アップされたサンプルの3行目の年月は 文字列ですか?
 それとも、日付型データで、表示形式で yyyy年m月 になっているのですか?

 それと、本件、条件付書式でも対応できそうですが、マクロボタンクリックによるマクロ処理希望ということですか?

(β) 2016/01/16(土) 20:55


遅くなりました。
回答ありがとうございます。

開始日と終了日の色変えは条件付き書式でできると思うのですが
両方できるのであれば開始日と終了日のところに日にちの表示も条件付き書式で可能なのでしょうか?
マクロボタンクリックなしで可能であればそちらのが楽だと思うのでそちらで対応したいです。

日にち表示が無理であればマクロでと考えています。
またサンプルのキャプチャ画像で日付の件も記載していますのでご確認お願い致します。
http://14.gigafile.nu/e06fbd500b2205be43ebe530f64c36d02-0123
(ゆう) 2016/01/16(土) 22:35


 4行目が実際には日付であれば、ぐ〜んとやりやすくなりますね。
 ところで、この4行目、たとえば 1 というのは 1,2,3,4 なんですよね。25 なら 25,26,27,28 。
 なぜ、 開始日 2015/7/22 のデータの 始まりが 25 のマス目なんですか? 21のマス目では?

(β) 2016/01/17(日) 00:49


そこは私もExcel上よくわからないところなのですが、一応計算式としては
前のセル+4(5のとこならF4+4)にしてます。

この始まりが25のマス目ということは1のところは1だけで5のところが2,3,4,5になるのだと思います。
(ゆう) 2016/01/17(日) 08:08


横から失礼します。

質問されているのは、Excelの動き以前のこととして、
>開始日 2015/7/22 のデータの 始まりが 25 のマス目なんですか?
>21のマス目では?
と質問されているのではないですか?

ちなみに、別のところに掲載されている図を余り多用するのは、考え物です。
時間が経過してそのファイルを消してしまうと、質問の意味が読み取れなくなります。
重複してこちらのほうにもテキストベースで書き込むとかしたほうが良いでしょう。
# 表現できないものではないと思います。

(γ) 2016/01/17(日) 08:49


 γさんから適切なコメントをいただきました。
 こちらでもメモしていましたので、一部、重複しますが、以下にアップします。

 >そこは私もExcel上よくわからないところなのですが

 えっ? ご自分で、色を塗られたのではないのですか?
 (あるいは、色塗りが条件付書式であれば、その条件式を ゆう さんが登録されたのでは?)

 日付のことではなく、日付のマス目のタイトルに対して、その期間のセルに色を付けていますね。
 で、開始日が 2015/7/22 なら 7月の 21 のマス目が色塗り開始ではないですか?
 なぜ、25 のマス目からの色塗りにされたのですか? こう質問しているのですが。

 ルールが明確にならなければ、条件付書式であれ、マクロであれ、正しいセルに外枠をセットできません。

 一生懸命考えて、もしかしたら、マス目が、開始日と終了日で意味が異なる?
 つまり、開始日に対しては、マス目の意味は、表示されている日を含んで、それ以前の4日間。
 終了日に対しては、表示されている日を含んで、それ以降の4日間?

 そのあたりのルールを明確にしてくださいね。

 で、こちらで、少し、やってみているのですが、条件付書式では太線が使えないことに気が付きました。
 サンプルでは、太線でしたね。通常の線だと、ちょっとインパクトに欠けるかも。

 また、もしかしたら、今、すでにそういう仕組みなのかもしれませんが、2色なり、3色なり、4色なりのローテーションで
 ガントチャートの帯そのものも条件付書式で塗ることもできますね。

 あと、開始、終了のセルに日付数値をいれるのも、あわせて自動化ということですか?
 (もし、そういう要件であれば、これは条件付書式で対応できるのかなぁ?βには無理っぽいですが)

 で、仮に、やっぱり太線がいいので、条件付書式ではなくマクロだということになったとして
 処理するタイミングと範囲については、1行1行の指示ではなく、ガントチャート全体を洗い替える方式がいいと思います。

 たとえば、ある行と次の行の同じ列に外枠囲み線があったとして、どちらかの開始日(あるいは終了日)を変更した結果
 その行の外枠囲み線があったセルの囲み線を消して、変更されたセルに外枠囲み線をセットしますよね。
 そうした場合、もとの囲み線を消したときに、その下線、ないしは上線は、もう一方の行の 上線、ないしは下線でもあるわけで
 もう一方の行の外枠が囲み線ではなくなってしまいますので。

 処理タイミングとしては、ボタン起動でもいいですけど、D列なりE列に変更があれば自動処理というのがいいのではと考えています。

 ★ところで、処理要件や、レイアウトをネット上にアップしてそれを参照してくださいという方式、
  わかりやすいといえばわかりやすいのですが、この学校のやりとりだけを見ると、何が何だかさっぱりということになるでしょうね。
  いずれ、ネットにアップした情報も閲覧期限を過ぎるでしょうし、そうなると、このトピそのものが、実にわかりにくいものに
  なってしまうなぁと、そう思いました。

(β) 2016/01/17(日) 09:08


質問の意味に今気づきました。
終了日は15日なら14の下のセルが塗りつぶされているのに開始日は22日なのになんで25ってことですね。
すいませんそもそも開始日と終了日で塗りつぶされているセルが違っていることに気づいてなかったです。

現在のガンチャートもネットで色々調べて条件付き書式を作成したもので
開始日から終了日までのセルの塗りつぶしの条件数式は
=AND(F$4>=$D5,F$4<=$E5)
としています。
この数式もネットで調べた数式で対象となる値だけ変更しました。
この数式を変えることによって開始日のセルも21日に変えることが出来るということなのだと思いますが
いつもネット調べて作成してたりするのでまだどう変えれば開始日も21日のセルを塗りつぶす条件書式にできるのかわかってないです。
画像で掲載していた現在作成中のExcelを下記に記載しました。

  D    E    F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U
1
2   
3           ←     15年7月       →  ←       15年8月      → 
4 開始日  終了日   1  5  9  13  17  21  25  29  2  6  10  14 18  22  26  30
5 15/7/22 15/7/30                 ■  ■
6 15/7/22 15/8/15                 ■  ■  ■  ■  ■  ■
7 15/8/11 15/8/20                             ■  ■

開始、終了のセルに日付数値をいれる件は自動じゃなくても大丈夫です。
ただ毎回例えば6行目のL6セルに数式の=D6とかと一つ一つ入力していくのは手間なので
マクロボタン等で入れられるようにできればと思った次第です。
マクロの記録で最初簡単にできるかなと思ったのですが、うまくいきませんでした。

条件付き書式で太線が使えないということに関してなのですが、マクロでやるのはかなり高度だと思うので
出来るならやりたいですが色変えで対応でも大丈夫です

例えば下記の表の6行目を参照してほしいのですが様にL6セル(開始日セル)は紫(白抜き□のところ)、Q6セル(終了日セル)は赤(白抜き□のところ)、その間(■のところ)は薄い赤というような感じです。

  D    E    F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U
1
2   
3           ←     15年7月       →  ←       15年8月      → 
4 開始日  終了日   1  5  9  13  17  21  25  29  2  6  10  14 18  22  26  30
5 15/7/22 15/7/30                 ■  ■
6 15/7/22 15/8/15                 □  ■  ■  ■  ■  □
7 15/8/11 15/8/20                              ■  ■

なので開始日と終了日だけ色を変えるのをすべての行に適用すると
下記の様な表現になるといった具合です。これにあとは開始日と終了日のセルに日付数値を入れていくと完成といった感じにしたいです。

  D    E    F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U
1
2   
3           ←     15年7月       →  ←       15年8月      → 
4 開始日  終了日   1  5  9  13  17  21  25  29  2  6  10  14 18  22  26  30
5 15/7/22 15/7/30                 □  □
6 15/7/22 15/8/15                 □  ■  ■  ■  ■  □
7 15/8/11 15/8/20                              □  □

□の数字の囲み文字がないので開始日と終了日のセルに日付数値記載していないのですが、
わかりますでしょうか?

rさんご指摘ありがとうございます。
(ゆう) 2016/01/17(日) 11:43


 勘違いあるかもしれませんが。
 資料をよく読むと、開始セルも終了セルも、枠線ではなく、セルの背景色?

 現在設定されている条件付書式をすべて削除した上で改めて、以下を設定して試してみてください。

 ・F5を起点にガントチャートを表示する領域を選択。(F5 がアクティブセル)
 ・数式が =AND($D5>=F$4,$D5<=F$4+3) 背景色を赤
 ・数式が =AND($E5>=F$4,$E5<=F$4+3) 背景色が紫
 ・数式が =AND(F$4>=$D5,F$4+3<=$E5) 背景色が黄色

 これで、条件としては、黄色、紫、赤色 の順でダイアログに表示されていると思います。

 帯の色が黄色、ただし先頭セルは赤、末尾のセルが紫 になると思います。
 とりあえず帯の色は、黄色のみにしていますが、ここを、複数色のローテーションで表示することも可能です。

(β) 2016/01/17(日) 12:14


はい。
背景色です。わかりづらくすみません。

条件付き書式の設定ですが、
教えていただいた内容で開始日と終了日の色変えは問題なく設定できました!

ありがとうございます。

あとは日付数値ですがこちらも解決できると嬉しいです。
(ゆう) 2016/01/17(日) 16:16


 日付数値は条件付書式では無理っぽい(βには)ので、通常のセルの数式で処理する案。

 F5 : =IF(AND($D5>=F$4,$D5<=F$4+3),DAY($D5),IF(AND($E5>=F$4,$E5<=F$4+3),DAY($E5),""))

 これを、右に、下に フィルコピー。

 もしかしたら、塗りつぶしの色によっては、数字が見えにくいかも。
 その場合、領域を選択してフォントカラーを白にしておけばいいかもしれません。

(β) 2016/01/17(日) 16:50


日付数値も問題なく入れることができました!
これで仕事もはかどります。
セルの数式で処理することも可能なのですね。
勉強になります。

親切に教えていただきありがとうございました。
(ゆう) 2016/01/17(日) 18:14


コメント返信:

[ 一覧(最新更新順) ]


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