指定された期間の稼動日数を求めます    topへ

 ネットワークデイズ インターナショナル

=NETWORKDAYS.INTL(開始日,終了日,[週末],[祭日])

   指定した期間(開始日~終了日)の稼働日数を返します。稼動日とは、週末および指定された祭日を除く。

 (注) Excel2010で追加された関数です

従来のNETWORKDAYS関数に引数で[週末]が追加された形です。土日以外の非稼働日にも対応できるようになっています。

週末の曜日とその日数を示すパラメーターを使用して、2 つの日付の間の稼働日数を返します。

週末および休日として指定された日は稼働日と見なされません。

よって、任意の休日にも対応できるようになりました。(問題3をご覧ください)
 

【Office シリーズ】稼動日数を求める(NETWORKDAYS関数・NETWORKDAYS.INTL関数)

 

【問題2】2013年1月10日に工事を開始します。完了日は2013年1月25日です。

土日と祝日は休みとします。(祭日を考慮します)実質は何日の工事日数となるでしょうか?


【解答例】祝日を考慮する場合は、祝日の表を作成します。祝日の項に祝日の範囲を指定します。

C4セルに =NETWORKDAYS(C2,C3,E3:E5) と入力します。


2013年のカレンダーで確認してください。

1/14は祝日なのでカウントしません。
 

【Office シリーズ】稼動日数を求める(NETWORKDAYS関数・NETWORKDAYS.INTL関数)

 

【問題1】2013年1月10日に工事を開始します。完了日は2013年1月25日です。

土日は休みとします(祝日は工事をします。祭日は考慮しません)。実質は何日の工事日数となるでしょうか?


【解答例】NETWORKDAYS関数を使った例です。(祭日は考慮しません)

C4セルに =NETWORKDAYS(C2,C3) と入力します。


2013年のカレンダーで確認してください。

土日および指定した祭日(祝日)等を除いた稼働日数を計算する場合は、NETWORKDAYS関数を使います。

土日ではなく指定した曜日を引数の週末と指定して計算したいときは、NETWORDAYS.INTL関数を使います。

指定された期間の稼動日数を求めます     

 ネットワークデイズ

=NETWORKDAYS(開始日,終了日,祭日)

   指定した期間(開始日~終了日)の稼働日数を返します。稼動日とは、土曜、日曜、および指定された祭日を除く。

 (注) Excel2003以前のバージョンでは、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。

順位(RANK関数)を求めるExcel関数の使い方を説明しています。

Excel2010ではRANK.EQ関数とRANK.AVG関数が追加されました。 RANK.EQ関数が従来のRANK関数と同じ結果を返します。

なお、RANK関数はExcel2010以降でも使用できます。Excel2007以前との互換性が必要な場合はRANK関数を使います。

 

問題2  総得点が同点の場合、G列のように順位が飛び飛びになります。

 

問題2の解答例4:Filter関数、SORT関数、XMATCH関数で求める方法

Microsoft365ではFilter関数、SORT関数、XMATCH関数が使えます。

名前を得点の高い順に並べ替えて、その並べ替えた配列で各行の名前が何番目に有るかを調べています。

E3セルに =XMATCH(B3:B8,FILTER(SORT(B3:F8,5,-1),{1,0,0,0,0})) と入力しています。

FILTER関数でデータを抽出する:Excel関数

SORT関数でデータを並べ替える:Excel関数

XMATCH関数の使い方:Excel関数
 

順位(RANK関数)を求めるExcel関数の使い方を説明しています。

Excel2010ではRANK.EQ関数とRANK.AVG関数が追加されました。 RANK.EQ関数が従来のRANK関数と同じ結果を返します。

なお、RANK関数はExcel2010以降でも使用できます。Excel2007以前との互換性が必要な場合はRANK関数を使います。

 

問題2  総得点が同点の場合、G列のように順位が飛び飛びになります。

 

問題2の解答例3:RANK関数とCOUNTIF関数で求める方法

COUNTIF関数で重複するものを1,2,3・・・と数え、RANK関数で求めた順位のくわえる方法もあります。

H3セルに =RANK(F3,F3:F8)+COUNTIF($F$3:F3,">="&F3)-1 と入力し、下方向へコピーします。
 

順位(RANK関数)を求めるExcel関数の使い方を説明しています。

Excel2010ではRANK.EQ関数とRANK.AVG関数が追加されました。 RANK.EQ関数が従来のRANK関数と同じ結果を返します。

なお、RANK関数はExcel2010以降でも使用できます。Excel2007以前との互換性が必要な場合はRANK関数を使います。

 

問題2  総得点が同点の場合、G列のように順位が飛び飛びになります。

 

問題2の解答例2:COUNTIF関数で求める方法

COUNTIF関数で順位Bの計算をするには

H3セルに =COUNTIF($F$3:$F$8,">"&F3)+COUNTIF($F$3:F3,F3) と入力して、下方向へコピーします。

この場合は作業列は不要になります。

 

順位(RANK関数)を求めるExcel関数の使い方を説明しています。

Excel2010ではRANK.EQ関数とRANK.AVG関数が追加されました。 RANK.EQ関数が従来のRANK関数と同じ結果を返します。

なお、RANK関数はExcel2010以降でも使用できます。Excel2007以前との互換性が必要な場合はRANK関数を使います。

 

問題2  総得点が同点の場合、G列のように順位が飛び飛びになります。

 

問題2の解答例1:作業列を使って、RANK関数で求める方法

作業列としてI列を使用します。

I3セルに『=F3-ROW()/1000』 として、1点に満たない数値(行番号の千分の一)を差し引き、同得点間に差を付けてやります。

逆に『=F3+ROW()/1000』とすると、行番号が大きい方が上位になります。


順位BはI列を基準にRANK関数で出します。

H3セルに =RANK(I3,$I$3:$I$8,0) と入力して、下方向へコピーします。

Spillが使える場合は、H3セルに =RANK(I3:I8,I3:I8,0) でOKです。

 

 

順位(RANK関数)を求めるExcel関数の使い方を説明しています。

Excel2010ではRANK.EQ関数とRANK.AVG関数が追加されました。 RANK.EQ関数が従来のRANK関数と同じ結果を返します。

なお、RANK関数はExcel2010以降でも使用できます。Excel2007以前との互換性が必要な場合はRANK関数を使います。

 

問題2

総得点が同点の場合、G列のように順位が飛び飛びになります。


H列のように同点の場合は表示順の行番号が若い方を上にするにはどうしたらいいでしょう?

順位Bを計算しなさい。


G列の順位Aは、G3セルに =RANK(F3,$F$3:$F$8,0) と入力して、下方向へコピーしています。

Spillが使える場合は =RANK(F3:F8,F3:F8,0) でOKです。

"【