• ベストアンサー

エクセルで日にちを入力すると矢印が自動的に引かれるとか。

こんにちは。 エクセルで作業の進捗表を作成しています。 作業開始日と終了日を入力すると、 開始日~終了日が自動的に矢印として カレンダーに引かれる関数のような ものはありますか? ご存知の方、よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

一般関数で罫線や図形の直線・矢印を返すことはできませんので、どうしても図形を 使用したい場合は、VBに頼ることになるでしょう。 でも、 次のような方法もあります。 B1:AF1 に 日付(数字のみではなく日付データの"日"を表示)      列幅を表示日付の幅程度(22ピクセルくらい?)に縮めます。 A2 に 開始日入力 A3 に 終了日入力 B2:AF2 を「中央揃え」にしておいて B2 に次の式を入力し、AF2 までドラッグコピー   =IF($A$2=B1,"<",IF($A$3=B1,">",IF(AND($A$2<B1,$A$3>B1),"―","")))

haruca-Re
質問者

お礼

できました~っ(*^_^*) VBは良く分からないので、この方法で やってみようと思います。 ありがとうございました!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

(1)C1セルに2003/12/1を入れます。 (2)C1からD1,E1、・・と+ハンドルを引っ張り31日まで日付を入れます。 (3)第1行目のC1,・・・の書式は12月1日のような日付書式にします。 (4)A3にスタート日付を入れます。2003/12/3のように。そしてB3にエンド日付を入れます。2003/12/13 のように。 (5)C3に式=IF($A3=C$1,"<==========",IF($B3=C$1,"=======>",IF(AND($A3<=C$1,$B3>=C$1),"==========","")))を入れます。 D3以右に31日まで複写します。 (6)C3のセルの式をC4,C5以下下方向に複写します。例えばC20まで。 (7)C3:C20を範囲指定しC20に+ハンドルを出し、AG列(C3:AG20)まで引っ張る。 (8)A列、B列に月中の日付を入れてください。(A列日付<B列日付にすること。) <====>の型が、日付区間に瞬時に引かれます。 C-AG列の幅は等しくし、列幅に合わせて、式の中の「=」の数を加減してください。 両端に>などにこだわらなければ、■→等の文字も使えるでしょう。 しかし全セル内が長い式だらけになるのが(メモリ使用の点で)心配です。 VBAとかで考えるべきものでないかと思いました。

haruca-Re
質問者

お礼

こんにちは! どうもありがとうございます。 やっぱり、VBとかVBAとかの方がいい感じですかね。。。 言語は使えないので、エクセルでなんとか 使用と思います。 参考にさせて頂きますね。 ありがとうございました!

関連するQ&A