• 締切済み

エクセルで作業期間の日数を計算したい

エクセルについて質問です。 セルA1に開始日(例:2012/2/20) セルC1に終了日(例:2012/5/12)を入力し、この期間の日数(○○日間)を 計算する方法を教えて下さい。 更にこの期間で、「土日祝日を除いた日数(平日のみの日数)」と 「日曜祝日を除いた日数(平日+祝日でない土曜日の日数)」を算出する方法も教えて下さい。 ちなみに作業日数を計算するのに、DAYS360関数を使ってみましたが、 1年を360日として計算するので、正確な日数になりません。 また、曜日や休日が絡むとどんな関数を使えば良いのか全くわかりません。 よろしくお願いいたします。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

>「土日祝日を除いた日数(平日のみの日数)」と「日曜祝日を除いた日数(平日+祝日でない土曜日の日数)」を算出する方法も教えて下さい。 土日祝日を除いた日数はNETWORKDAYS関数で求められます(祝日リストの範囲に「祝日リスト」と名前を付けるかセル範囲を指定)。 =NETWORKDAYS(A1,C1,祝日リスト) 日曜祝日を除いた日数は以下のような関数で求められます。 =SUMPRODUCT((WEEKDAY(A1+ROW($A$1:$A$100)-1)<>1)*(COUNTIF(祝日リスト,A1+ROW($A$1:$A$100)-1)=0)*(A1+ROW($A$1:$A$100)-1<=C1))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

回答No3です。シート2のC1セルには次の式を入力して下方にオートフィルドラッグコピーしてください。 =IF(COUNTIF(B:B,DATE(A$1,1,7-WEEKDAY(DATE($A$1,1,1))+1)+(ROW(A1)-1)*7),"",DATE(A$1,1,7-WEEKDAY(DATE($A$1,1,1))+1)+(ROW(A1)-1)*7)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1に開始日や終了日が有るとして、シート2には祝日や作業列を用意します。 シート2のA1セルには2012年なら2012と入力します。A2セルにはWEEKDAY関数で使う数値で土曜日を休みの日(祝日は除く)に含めない場合でしたら7と入力します。 そこでB1セルから下方にはその年の祝日を入力します。 C1セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(COUNTIF(B$1:B29,IF(YEAR(DATE(A$1,1,1)+A$2-WEEKDAY(DATE(A$1,1,1))+IF(WEEKDAY(DATE(A$1,1,1))>A$2,ROW(A1)*7,(ROW(A1)-1)*7))=A$1,DATE(A$1,1,1)+A$2-WEEKDAY(DATE(A$1,1,1))+IF(WEEKDAY(DATE(A$1,1,1))>A$2,ROW(A1)*7,(ROW(A1)-1)*7),"")),"",IF(YEAR(DATE(A$1,1,1)+A$2-WEEKDAY(DATE(A$1,1,1))+IF(WEEKDAY(DATE(A$1,1,1))>A$2,ROW(A1)*7,(ROW(A1)-1)*7))=A$1,DATE(A$1,1,1)+A$2-WEEKDAY(DATE(A$1,1,1))+IF(WEEKDAY(DATE(A$1,1,1))>A$2,ROW(A1)*7,(ROW(A1)-1)*7),"")) これでC列には祝日を除いた土曜日の日付が表示されます。表示形式を日付にします。 そこでお求めの土日祝日を除いた平日のみの日数ですが次の式を入力します。 =NETWORKDAYS(A1,C1,Sheet2!B1:B50) 日曜祝日を除いた日数(平日+祝日でない土曜日の日数)につきましては次の式を入力します。 =NETWORKDAYS(A1,C1,Sheet2!B1:B30)+COUNTIF(Sheet2!C1:C60,">"&A1)-COUNTIF(Sheet2!C1:C60,">"&C1) いずれの場合もセルの表示形式は標準にします。

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.2

エクセルの日時は、1日を1とした、1900年1月1日0時から数えた、実数で記録されています。(1秒は1÷24÷60÷60=0.000011574...で表します) 2つの日の期間を求めたいなら、単純に引き算するだけでOKです。 そこから、土日を除いた日数を求めたい場合は、WORkday関数です。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

日数 C1-A1 平日(稼働日)の日数を求める関数 http://www.nbcom.co.jp/PC-Support/FAQ/xls/ht/xls042003ht001.shtml 期間内の指定曜日の数 http://www.geocities.jp/chiquilin_site/data/071101_specific_day.html

関連するQ&A

専門家に質問してみよう