Excelで月間スケジュールを作りたいと思います。

複数案件の一覧表にし、案件の開始日と終了日の期間のセルに、自動で色が付くようにしたいです。
条件付き書式で出来るでしょうか?
どのような条件付けをすれば実現できますか?
添付画像のような表をイメージしています。

<やりたいこと>
(1)左側に日付を入れると、右側のカレンダー部分に色がつく。(開始日から納品日まで)
(2)受注日と納品日は濃い色を付ける。
(3)月をまたがる日付を入れてもエラーにならない。

<目的>
各案件への取り組み期間が一見してわかるようにしたいです。
複数案件の進行が重複し、稼働の重たくなる時期を確かめるためです。


※2003でも2007でも使える書式設定でお願いします。
※私はマクロの知識が乏しい&Excelスキルの低い同僚にも使ってもらうため、マクロは使いたくありません。
※のちのち数式が崩れたときにも修復が容易なように、シンプルな数式だとありがたいです。
※条件付き書式以外の方法で、上記が解決できるならそれも教えてください。



ご教授ください。よろしくお願いします。

「Excel日程表:開始日~終了日を自動で」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんばんは!


一例です。
カレンダーもシリアル値の方が何かと便利ですので、
余計なお世話かもしれませんが、↓の画像のようにカレンダーを作成します。
(開始日・受注日・納品日はすべてシリアル値で入力します)

A1セルに「西暦年」C1セルに「月」を入力します。
E3セル(セルの表示形式はユーザー定義から d とだけしておきます)に
=IF(MONTH(DATE($A$1,$C$1,COLUMN(A1)))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"")

E4セルに
=IF(E3="","",TEXT(E3,"aaa"))
という数式を入れ、E3・E4セルを範囲指定 → E4セルのフィルハンドルでAI列までコピーしておきます。
これで「年」・「月」を変更すればちゃんと大の月・小の月の対応ができます。

後は条件付書式で可能です。
Excel2003の場合
色を付けたいセル(E5セル以降)をすべて範囲指定
書式 → 条件付書式 → 「数式が」を選択 → 数式欄に
=OR(AND(E$3<>"",E$3=$B5),AND(E$3<>"",E$3=$D5))
として → 書式 → パターンから「赤」を選択

次に条件付書式 → 「追加」 → 上記と同様に数式欄に
=AND(E$3<>"",E$3>=$B5,E$3<=$D5)
として → ・・・ → パターンから「黄色」を選択
これで↓の画像のような感じになります。

※ Excel2007以降ですと、条件付書式 → 「数式を使用して・・・」という項目になると思います。
数式欄は同じ数式にします。

※ 条件が重複する場合は最初の条件付書式が優先されますので、
「受注日」・「納品日」の条件付書式を条件1にします。
Excel2007以降の場合は条件付書式の項目で上の行に表示されている方が優先されますので、
右側の▲▼で優先順位は自由に変更できます。

参考になりますかね?m(_ _)m
「Excel日程表:開始日~終了日を自動で」の回答画像4
    • good
    • 6

No.4です!


たびたびごめんなさい。

前回の投稿で「条件1」のセル番地に間違いがありました。
前回の数式では「開始日」と「納品日」(画像内)が「赤」になります。

=OR(AND(E$3<>"",E$3=$C5),AND(E$3<>"",E$3=$D5))
に訂正してください。

※ 投稿後にもう一度質問を読み返してみると・・・
アップされている画像に「終了日」らしきものが見当たりませんので
勝手に、納品日=終了日 としています。
実データに「終了日」・「納品日」がある場合は適宜アレンジしてみてください。

何度も失礼しました。m(_ _)m
    • good
    • 5

条件付き書式を使ったガントチャート


エクセルのデータを見やすくする5つの簡単なテクニック | コリス
http://coliss.com/articles/software/899.html
http://pc.nikkeibp.co.jp/npc/download/excel_task …

マクロで作ってしまった例
EXCELマクロでガントチャートを作ってみた - ITレシピ
http://mitsuyahiromi.sakura.ne.jp/fswiki/wiki.cg …
プロジェクト管理 - タスク管理表 -
http://www.neego.net/projectkanri/taskkanrihyo.h …


専用ツールがフリーでたくさんでているので、探すと楽しいかも知れません。
窓の杜 - 【REVIEW】使い慣れたExcelで日単位のガントチャートを作成できる「Excel Pro 工程表」
http://www.forest.impress.co.jp/article/2008/08/ …
Excel版ガントチャート
http://www.vector.co.jp/soft/winnt/personal/se48 …
ガントチャートforExcel
http://www.vector.co.jp/soft/win95/business/se28 …
Excelでガントチャート
http://www.vector.co.jp/soft/win95/business/se27 …

Excelにこだわらないなら
徒然なるままに  ガントチャートを作成するツールあれこれ
http://norimaki2000.blog48.fc2.com/blog-entry-23 …

参考URL:http://www.gansuke.com/
    • good
    • 0

》 (3)月をまたがる日付を入れてもエラーにならない



12月→1月のように「月をまたがる日付」の場合は、年も「またがる」けど、「年」は何処に入力するの?
これは「Excelスキルの低い」かどうかに無関係です。
    • good
    • 0

まあ、ビジュアル的にカレンダーに色を付けるのが一番分かりやすいでしょう。




普通に条件を満たす関数式を3つ作れば良いですよ?

それぞれどのような関数式にすれば良いのかが分からないということでしょうか。
条件1と条件2が重なるとセルの修飾がうまく反映されないのでしょうか。
それとも他に何か問題があるのでしょうか。

条件式は、IF関数で TRUE が返ってきたら良いように作れば良いです。
例:
 =IF(A1<100,TRUE,FALSE)
 ↓
 =A1<100

条件式の優先度は
  1>2>3
ですので、何よりも優先したい条件を条件1に設定しましょう。


なお、質問にあるカレンダーがどのような作りになっているのか不明ですので、
具体的な条件式などは質問者さんが知恵を絞って解決する事になると思います。
自力で解決することが基本ですので、代わりに作ってもらおうと考えてはいけません。
(それでは後輩に説明できませんよね?)
考える手助けなら、このQ&Aサイトでいくらでもできますから、気負うことはありません。
分からない点を具体的に示してみましょう。
例:
 A2セルに入力された日付がカレンダーの日付以上であるからは
 どのような関数式で判断すれば良いでしょうか。
 カレンダーの日付は、A1セルに年、B1セルに月、B2セルからAF2セルまで1から31の数値で判断します。
 関数式とその説明をお願いします。
など。


一番良い解決方法は社内の詳しい人にお願いして作ってもらうことなんですけど、
社内に頼る人がいないのでしたら自身の力を信じて挑戦してみましょう。
    • good
    • 2

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q日付を入力しカレンダーの該当する日を塗りつぶしたい

添付の画像のように

(1)「開始日」と「終了日」に日付を入れる
(2)すぐ下にあるカレンダーの「該当の日付のセルが塗りつぶされる」

ということをやりたいと思っています。
条件付書式?や関数で対応できるものでしょうか。

Aベストアンサー

ご提示の画像どおりの配置なら
A6セルに条件付書式で
「数式が」を
=AND(A5>=$A$2,A5<=$B$2)
にします。
$の位置に注意してください。
そのまま右へフィルドラックして条件付書式をコピーします。

Q開始時刻から所要時間に応じてセルを塗りつぶすには

現在仕事である部門の管理をしていまして、各人の作業工程の時間を視覚的に把握したいと思い、それをエクセルでやりたいと思っています。
考えているのは、開始時刻と終了時刻を入力すると、その開始時刻から所要時間分のセルを塗りつぶすというものです。
たとえば、Aさんが8:20から8:27までの作業があったら、8:20から右に7セル分
(1分1セル)を塗りつぶすというものです。

これで各人の作業時間の重複を視覚的に把握したいと思っております。
ガントチャートのようなものですが、さほど凝ったものではなく、簡単な関数で実現できればいいと思っていますが、実際できますでしょうか?

Aベストアンサー

例えばA1セルに氏名、B1セルに開始時間、C1セルに終了時間の文字が有り、D1セルから右のセルには8:15,8:16・・・のように1分間隔で時刻が入力されているとします。
その上でB2セルに8:20、C2セルに8:27と入力した場合のようにB列およびC列にデータが入力されたら、該当する時刻のところの列に色が付くようにするためには次のようにします。
D2セルから使用する右側の列で2行目から下方のセルまでを範囲として選択します。
「ホーム」タブの「条件付き書式」をクリックして「新しいルール」を選択します。
「数式を使用して・・・・・」を選択して数式の窓には次の式を入力します。

=AND(D$1>=$B2-"0:00:01",D$1<=$C2+"0:00:01",D$1<>"")

「書式」をクリックして「塗りつぶし」のタブからお望みの色を設定します。
なお、上の式では0.1秒が追加されたり、引かれたりしていますが時刻の比較などではシリアル値での小数点以下の誤差を解消するために使っています。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcelで日付を条件にした条件付き書式を設定したいのですが...

Excelで日付が期間内に収まるか判定する条件付き書式を書いています。
エクセル技道場もヘルプも見たのですがうまくいきません。
ご存知でしたら、教えて下さい。

やりたいことは次のとおりです。

 A      B(開始)  C(終了)  D(対象日) E(判定)
 2001年7月  7/1     7/15 7/2 赤
  ↑       ↑     ↑ ↑
(2001/07/01)(2001/07/1) (2001/07/15) (A+1)

7/16     色なし

 Eを、Dの日付が開始と終了日の間にあれば「赤」に、なければ色なしで
 表示したいのです。

DATEDIFとDATEVALUEを組合せて条件式を作っているのですが、赤になり
ません。よろしくお願いします。

Aベストアンサー

なんだかわざわざ難しくしちゃってる感じ。
D1セルの日付がB1とC1の間にあるときにTRUEになる数式は、
=AND(B1<=D1,D1<=C1)
ですみますよね。
あとはTRUEとFALSEで色変えをする条件付書式を設定するだけ。

Qエクセル ある条件でセルの塗りつぶし。

エクセルを勉強中の初心者です。
あるセルに数値がある場合に、隣の空白セルを特定の色で塗りつぶしたい。

例えば黄色に塗りつぶした空白セルをコピーして他のセルに貼り付けると、貼り付けたセルは黄色になります。

やりたいことは、B2に数値がある場合にC2を塗りつぶしたいので、次のようにやってみました。

予め空白のE1を黄色にしておく。
C2に以下の式を入れましたが、黄色のE1を貼り付けることにはなりませんでした。
=IF(B2="","",E1)

関数式はあくまでも数値を扱うもので、根本的に間違っていたようです。

ある条件であるセルを塗りつぶすにはどうすればよろしいでしょうか?
よろしくお願いします。

Aベストアンサー

こんばんは!

数式によって「書式」は表示できませんので、
今回の質問の場合には「条件付き書式」を使います。

お使いのExcelのバージョンが判りませんが・・・

Excel2007以降の場合は
C2セルを選択 → ホーム → 条件付き書式 → 新しいルール → 「数式を使用して・・・」を選択 → 数式欄に
=B2<>""
という数式を入れ → 書式 → 「塗りつぶし」 → 好みの色(黄色)を選択しOK

Excel2003以前の場合
C2セルを選択 → メニュー → 書式 → 条件付き書式 → 「数式が」を選択 → 数式欄に
=B2<>""
とし → 書式 → パターン → 好みの色を選択しOK

これで大丈夫だと思います。m(_ _)m

Qエクセルで日付を入力したらカレンダーに色を塗る

添付ファイルを参照してください。
・架設工事の横の開始日に日付を入力したらその日から決められた期間分セルに色を塗る
・それぞれの工事によって期間はちがう。
・塗ったマーカーは手直しができるようにしたい。
・できれば日曜・祭日は抜いて期間分色を塗りたいが、無理なら手直しで塗りなおします。

よろしくお願い押します。

Aベストアンサー

日経PC21が得意とするテーマで、
●Excelでガントチャートをつくる方法 | Excelを制する者は人生を制す ~No Excel No Life~
http://excel-master.net/graph/gantt-chart/
●関数で工程管理、ガントチャートを作れ《続・Excel関数は60個だけ覚えなさい》
http://pc.nikkeibp.co.jp/article/column/20120515/1049472/
などいくつかの手法が公開されています。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセル:特定のセルに入力するとセルが塗りつぶされるには?

エクセルで、ある特定のセルに日付を入力した時に、そのセルを含む行に色をつけたい場合はどのような設定をしたらいいのでしょうか?

例えば、C1に日付を入力するとA1~F1までのセルが全て黄色になるといった感じです。

Aベストアンサー

次の方法は如何でしょうか。
(1)A1:F1を選択
(2)書式→条件付き書式→数式がを選択、数式欄に=$C1<>""を入力→書式→パターンタブで黄色を選択→OK
因みに日付の条件が不明でしたので安直ですがC1に何か入力されていれば色付けできるようにしています。

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

こんにちは。
エクセルで作業の進捗表を作成しています。

作業開始日と終了日を入力すると、
開始日~終了日が自動的に矢印として
カレンダーに引かれる関数のような
ものはありますか?

ご存知の方、よろしくお願いします!

Aベストアンサー

一般関数で罫線や図形の直線・矢印を返すことはできませんので、どうしても図形を
使用したい場合は、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),"―","")))

Qエクセルのセルにカレンダーを表示させ、日付をセルに入力させたい

エクセルについて教えて下さい。

エクセルのセルをクリックすると、
カレンダーのようなものが表示され、
マウスで選択すると、
セルに日付が入力されるようにするには
どうしたらよいですか?

すみませんが、宜しくお願い致します。

Aベストアンサー

#02です。foo-mさんがVBAをお使いになるなら、以下のサンプルをいじってみてください。

このサンプルはC4セルがクリックされたときにカレンダーコントロールを表示して、日付を選んだらその日付をC4に書き込み、カレンダーコントロールを閉じるマクロです。

Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
ActiveSheet.Calendar1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$4" Then
ActiveSheet.Calendar1.Visible = True
End If
End Sub

マクロはシートのモジュールとしてペーストして下さいね


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング