• ベストアンサー

稼働日(Working days)の計算

今だに Excel 2002 を使用している私は、稼働日を含む計算のための関数として =NETWORKDAYS()関数や =WORKDAYS()関数が用意されていることを承知していますが、これらの関数は土曜日と日曜日を休日扱いしています。 でも世間では「土」、「日」が休日でない人や会社も存在するわけで、Excel 2003以降では「土」あるいは「日」を稼働日とし、かつ、それ以外の日(例えば「木」)を休日と設定できるようになっているのでしょうか? また、Excel 2002 で、休日を例えば「水」「木」(あるいは「日」「月」)として、稼働日を計算する(マクロを使用しない)方法はありますか?

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

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

>また、Excel 2002 で、休日を例えば「水」「木」(あるいは「日」「月」)として、稼働日を計算する(マクロを使用しない)方法はありますか? A1が開始日、B1が終了日なら、たとえば「水」「木」が休日の稼働日数は、いずれのバージョンでも以下のような数式で計算できます(最大30日間の計算に対応する数式)。 =SUMPRODUCT(((WEEKDAY(A1+ROW($A$1:$A$30)-1)<4)+(WEEKDAY(A1+ROW($A$1:$A$30)-1)>5))*(A1+ROW($A$1:$A$30)-1<=B1)) ちなみに木曜のみが休日なら以下のような数式になります。 =SUMPRODUCT((WEEKDAY(A1+ROW($A$1:$A$30)-1)<>5)*(A1+ROW($A$1:$A$30)-1<=B1))

noname#204879
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

Excel2010にて新設されたNETWORKDAYS.INTL関数を使い,評価できます。 http://office.microsoft.com/ja-jp/excel-help/HA010354379.aspx 指定休日を挟む稼働日の計算は,単純には区間内の該当休日数を配列計算で求めて区間の日数から差し引くことで出来ます。 また極々シンプルな方法としては,休業日一覧(毎週木曜日の日付一覧,および祝祭日)を「休業予定日」として列記しておき,COUNTIFで求めて差し引く事でも出来ます。

noname#204879
質問者

お礼

ありがとうございました。

関連するQ&A