- ベストアンサー
エクセルガントチャートでの関数について
- 仕事でガントチャートを作成しており、日数が開始日と終了日のみならばよいのですが、中間提出という設定があり困っています。
- チャート部分の表示方法は、日付が開始日から中間日までは"1"、中間日から終了日までは2として条件付き書式で色を付ける。
- チャートエリアへの表示のための関数を作成したいが、日付のセルがすべて埋まっていない場合に値がうまく返らない問題があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
最初から条件をちゃんと書いてくれたらいいのに この程度なら関数の不得意な私でも出来ますよ =IF(OR($A6=D$4,AND($A6<>"",$A6<=D$4,$B6>D$4),AND($A6<>"",$B6="",$C6>=D$4)),1,IF($B6=D$4,"m",IF(OR($C6=D$4,AND($B6<>"",$B6<D$4,$C6>=D$4)),2,""))) もう少し、端折れそうですが また条件が変わると面倒なので はい、どうぞ
その他の回答 (2)
- hige_082
- ベストアンサー率50% (379/747)
#1です、間違えた =IF(AND($A6<=D$4,$B6>D$4),1,IF($B6=D$4,"m",IF(AND($B6<D$4,$C6>=D$4),2,""))) すいません
お礼
すみません。 値がうまく返らないというのを説明しておりませんでした。 ABCがすべて埋まっていなくても帰るようにしたいのです。 ・今のままですと、たとえばcにのみ7/31となっていると7/31までの前がすべて値が入ってしまいます。それを7/31のみに値が入るようにしたいのです。ABCのすべての記入パターンに対応させたいのです。 ご回答いただいた式を入力してみたのですが、だめでした。 ありがとうございました。
補足
・ABCすべての日付が入っていた場合、 開始日>=中間日=1 中間日=中 中間日>=終了日=2 ・ABCどれか1項目のみ入力があった場合 (下記いずれか反映) Aのみ記入 開始日にのみ1 Bのみ記入 中間日にのみ中 Cのみ記入 開始日にのみ2 ・AとBに記入がある場合 開始日>=中間日=1 中間日=中 ・AとCに記入がある場合 開始日<=終了日=1 ・BとCに記入がある場合 中間日=中 中間日>終了日1 となるようにしたいのです。 こんなに大事な説明を漏らしていたなんて本当に申し訳ありません。
- hige_082
- ベストアンサー率50% (379/747)
こういう事? =IF(AND($A6<D$4,$B6>D$4),1,IF($B6=D$4,"m",IF(AND($B6<D$4,$C6>=D$4),2,"")))
お礼
これでばっちりでした。 説明不足でお手数掛けて申し訳ありませんでした。 自分でもこれぐらい組めるようにいろいろ組み方を練習します。