ママのスキンケアのお悩みにおすすめアイテム

Excel2003を使って個人スケジュールをガントチャート風にしています。
作業名の横に開始日と終了日を入れると、その右のカレンダーに対応したセルに色を付けるようにしました。
マクロはわからないので、カレンダーの全セルに条件付き書式で以下のように設定してあります。

=AND(DATE($D$2,$E$2,G$5)>=($D$6), DATE($D$2,$E$2,G$5)<=($E$6))
=AND(DATE($D$2,$E$2,H$5)>=($D$6), DATE($D$2,$E$2,H$5)<=($E$6))
....

下のようなイメージです。

作業名|開始日|終了日| 1| 2| 3| 4|...|17|...|29|30|31|
作業A|10/1 |10/3 |■|■|■| |...| |...| | | |
作業B|10/17 |10/30 | | | | |...|■|...|■|■| |

ここで登録した作業の予定進捗率(%)を、休日(土日)を除いた日割りで表示したいのですが
方法がわかりません。
例えば、作業Aの場合は就業日3日間ですので、色の付いたセル上の
10/1に 33%、10/2に 66%、10/3に 100%といったようにです。
作業Bの場合は就業日10日間ですので、10/17に 10%を表示して、
その後土日は表示せず10%ずつ増えて10/30に 100%になります。

良い方法があったらご教示下さい。

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

A 回答 (5件)

ANo.1,ANo.2です。

間違いばかりですみません。
33%,33%..ではなく、33%,66%..でしたね。
よく読んでいませんでした。

G6:AK7は
表示形式:パーセンテージ
___C____D___E__G__H__I__AK
5_作業名_開始日_終了日_1__2__3__31
6_作業A__10/1__10/3_33%_66%_100%
7_作業B_ 10/17__10/30 

G6
=IF(AND(DATE($D$2,$E$2,G$5)>=$D6,DATE($D$2,$E$2,G$5)<=$E6,WEEKDAY(DATE($D$2,$E$2,G$5),2)<6),ROUNDDOWN(COUNT($E6:F6)/(NETWORKDAYS($D6,$E6)),2),"")
下方向・↓,右方向・→

この回答への補足

n_na_tto様
詳しい回答をありがとうございます。
そのままでほぼ期待していた表示になりました。
追加でご質問したいのですが、お分かりでしたらご回答ください。

このシートとは別のシート(「休日」とします)のA2からA50の間に祝祭日と
休暇の日を yyyy/mm/dd と並べておきます。
これを先日のご回答に反映させるにはどうしたらよいでしょうか?
NETWORKDAYSの部分には、 NETWORKDAYS($D6,$E6,休日!A2:A50)
ANDの条件文のところには、 DATE($D$2,$E$2,G$5)<>休暇!A2:A50
を入れましたがうまくいきませんでした。

補足日時:2008/11/10 18:14
    • good
    • 0

G6


=IF(AND(DATE($D$2,$E$2,G$5)>=$D6,DATE($D$2,$E$2,G$5)<=$E6,NETWORKDAYS(DATE($D$2,$E$2,G$5),DATE($D$2,$E$2,G$5),休日!$A$2:$A$50)),ROUNDDOWN(COUNT($E6:F6)/(NETWORKDAYS($D6,$E6,休日!$A$2:$A$50)),2),"")
    • good
    • 0
この回答へのお礼

おかげさまでイメージしていた通りに作成することができました。
ご回答ありがとうございました。

お礼日時:2008/11/27 23:17

日(平日)が経ったら絶対1日分は進捗するとして計算するのか。


開始日ー終了日のWORKDAY日数
開始日ー本日までのWORKDAY日数
の両者を割り算すればよいのか?
それならエクセルのWORKDAY関数を調べること。
http://excel.onushi.com/function/workday.htm
など
関数では色のついたセル数など数えられないから、セルの色を当てにしないこと。
    • good
    • 0
この回答へのお礼

WORKDAY関数も勉強してみます。
ありがとうございました。

お礼日時:2008/11/27 23:22

ANo.1です。


現在、一番上の日付は10/1[シリアル値]で入力しているのではなく、ただの[数値]1などですね。それにあわせて修正します。

G6:AK7は
表示形式:パーセンテージ
___C____D___E__G__H__I__AK
5_作業名_開始日_終了日__1__2__3__31
6_作業A__10/1__10/3_33%_33%_33%
7_作業B_ 10/17__10/30 

G6
=IF(AND(DATE($D$2,$E$2,G$5)>=$D6,DATE($D$2,$E$2,G$5)<=$E6,WEEKDAY(DATE($D$2,$E$2,G$5),2)<6),ROUND(1/(NETWORKDAYS($D6,$E6)),2),"")
下方向・↓,右方向・→
    • good
    • 0

D1から右は10/1などと必ず「日付を入力」して


表示形式:ユーザー定義 d
D2:AH3は
表示形式:パーセンテージ
___A____B___C__D__E__F__AH
1_作業名_開始日_終了日__1__2__3__31
2_作業A__10/1__10/3_33%_33%_33%
3_作業B_ 10/17__10/30 

D2
=IF(AND(D$1>=$B2,D$1<=$C2,WEEKDAY(D$1,2)<6),ROUND(1/(NETWORKDAYS($B2,$C2)),2),"")
下方向・↓,右方向・→
    • good
    • 0

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

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

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

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


このカテゴリの人気Q&Aランキング