• ベストアンサー

Excelで勤怠表をつけているのですが、その一環として

Excelで勤怠表をつけているのですが、その一環として  (基本勤務時間計-現在勤務時間計)÷残営業日数=残営業日数での平均勤務時間 を計算しています。 今はNETWORKDAYSを使って残営業日数を出して計算しているのですが、 NETWORKDAYSはアドインの「分析ツール」をいれないと使えないため、 作業場所が変わるといちいち設定しないと使えません。 毎回設定すれば済む話ではあるのですが、 出来ればそんな手間をかけずに計算して欲しいです。 なにか良い方法はないでしょうか? ※Excelは2003を主に使用していますが、2000や2007でも使用することがあります。

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

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

数式はアドインを使った方が遙かに簡単ですけどね。 「残営業日数」とは?  月の末日(月末日が土日祭日の場合は前営業日)まで数えるのでいいのでしょうか。  月末日当時にはNETWORKDAYS関数に倣って1になるので良いのでしょうか。(それとも0がいいのでしょうか。) 適宜調整して計算してください。 A1にある年/月/日があるとして。 祝祭日一覧に「Holidays」という名前の定義をしてあるとして。 残営業日数: =SUMPRODUCT((MONTH(A1+ROW($A$1:$A$31)-1)=MONTH(A1))*(WEEKDAY(A1+ROW($A$1:$A$31)-1,2)<6)*(COUNTIF(holidays,A1+ROW($A$1:$A$31)-1)=0))

その他の回答 (1)

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

分析ツールを使わなくても使用できるようにするなら、以下のような数式でNETWORKDAYSと同じ結果を得ることができます(1年分の期間までが対象)。 =SUMPRODUCT((WEEKDAY(起算日+ROW(A1:A365)-1,2)<6)*(COUNTIF(休日リスト,起算日+ROW(A1:A365)-1)=0)*(起算日+ROW(A1:A365)-1<=計算日))

関連するQ&A