• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定した期間での予定進捗率の日割り表示)

指定期間での予定進捗率を日割り表示する方法

このQ&Aのポイント
  • Excel2003を使って個人のスケジュールをガントチャート風に表示する際に、作業名の横に開始日と終了日を入れると、カレンダーに対応したセルに色が付けられます。
  • しかし、休日を除いた日割りで作業の予定進捗率を表示する方法がわかりません。
  • 例えば、作業Aの場合は就業日3日間ですので、色の付いたセル上の10/1には33%、10/2には66%、10/3には100%と表示したいです。作業Bの場合も同様に予定進捗率を表示したいです。良い方法があれば教えてください。

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

  • ベストアンサー
  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.3

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),"") 下方向・↓,右方向・→

tanakan
質問者

補足

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

その他の回答 (4)

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.5

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),"")

tanakan
質問者

お礼

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

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

日(平日)が経ったら絶対1日分は進捗するとして計算するのか。 開始日ー終了日のWORKDAY日数 開始日ー本日までのWORKDAY日数 の両者を割り算すればよいのか? それならエクセルのWORKDAY関数を調べること。 http://excel.onushi.com/function/workday.htm など 関数では色のついたセル数など数えられないから、セルの色を当てにしないこと。

tanakan
質問者

お礼

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

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.2

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),"") 下方向・↓,右方向・→

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.1

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),"") 下方向・↓,右方向・→

関連するQ&A