オルガは私立学校のために本を保管しています。登録された学生ごとに、彼女は入学日と退学日を持っています。彼女は、各学生に請求するのに何ヶ月かかるかを把握する必要があります。学生が少なくとも5日間クラスにいた場合、その月は請求に含まれる必要があります。 5日未満の場合、その月の請求は行われません。彼女はまた、休日と週末を除外する必要があります。

この問題の解決策に不可欠なのは、NETWORKDAYS関数の使用です。この関数は、他の_ExcelTips_で説明されているように、AnalysisToolPakの一部です。 ToolPakが有効になっていると仮定すると、この関数は2つの日付の間の正味の稼働日数を計算します。週末と、オプションで休日が考慮されます。

したがって、A1に学生の入学日があり、A2にドロップ日があると仮定すると、必要なのは休日のリストを設定することだけです。セルの範囲に休日を入力し始めるだけで、それを行うことができます。セルごとに1つの日付を入力してから、範囲を選択します。 MyHolidaysなど、範囲を参照する名前を定義します。

次に、次のような式を使用できます。

=(NETWORKDAYS(A1, DATE(YEAR(A1), MONTH(A1) + 1,0), MyHolidays) >= 5)

+ (NETWORKDAYS(DATE(YEAR(A2), MONTH(A2),1), A2, MyHolidays) >= 5)

+ DATEDIF(DATE(YEAR(A1), MONTH(A1) + 1, 1), DATE(YEAR(A2), MONTH(A2), 1), "m")

式はかなり長く、いくつかの検討が必要です。 NETWORKDAYS関数に加えて、2つの日付の差を判別し、さまざまな方法で間隔を返すために使用されるDATEDIF関数も使用することに注意してください。この場合、「m」とともに使用されます

パラメータ。これは、間隔を月数として返すことを意味します。これは、まさにOlgaが必要とするものです。

数式の最初の部分(NETWORKDAYS関数の最初の使用)は、入力日(セルA1内)から入力日が発生する月末までの日数を決定するために使用されます。この値が5(オルガのカットオフ)以上の場合、値1が返されます。これは、請求可能な単一の月としてカウントされるためです。

式の次の部分(NETWORKDAYS関数の2番目の使用)は、ドロップ日が発生する月に少なくとも5つの授業日があるかどうかを判別するために使用されます。その場合、これも請求可能な月であるため、値1が返されます。

次に、DATEDIF関数を使用して、エントリー月からドロップ月までの完全な月数を返します。最終的には、学生に請求する必要のある月数のカウントになります。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(3271)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。