DeWayneのセルA1には日付があり、その日付から月を簡単に抽出できます。ただし、彼が行う必要があるのは、その月の最初の営業日の5http://calendarcorner.net/ [calendar]日前の日付を計算することです。したがって、セルA1の日付が2012年9月26日の場合、その月の最初の営業日は9月3日であり、その5日前は8月29日です。

このような日付を導出するために使用できるさまざまな式があります。私が出くわした最短のものはこれです:

=WORKDAY(A1-DAY(A1),1)-5

現在の日付からその月の日を差し引き、前月の最終日を示します。これをWORKDAY関数のパラメーターとして2番目のパラメーター1とともに使用すると、当月の最初の就業日(営業日)が得られます。次に、この日付から5日が差し引かれ、目的の結果が得られます。

必要に応じて、数式内でEOMONTH関数を次のように使用することもできます。

=WORKDAY(EOMONTH(A1,-1),1)-5

式のEOMONTH(A1、-1)の部分は、前月の最終日であるA1-DAY(A1)と同じ結果になります。

必要に応じて、WORKDAY関数の3番目のパラメーターを使用して休日を考慮することもできます。これを行う最も簡単な方法は次の方法です:

=WORKDAY(A1-DAY(A1),1,MyHolidays)-5

この使用法では、MyHolidaysはセルの範囲に割り当てる名前であり、各セルにはその年の休日の日付が含まれています。

これまでに使用された2つの関数(WORKDAYとEOMONTH)は、どちらもAnalysis ToolPakの一部であり、関数を機能させるには、システムにインストールして有効にする必要があることに注意してください。 (ToolPakを有効にする方法は、_ExcelTips_の他の問題で説明されています。)

何らかの理由でAnalysisToolPakを使用したくない場合は、次のような別の公式アプローチを使用できます。

=A1-DAY(A1)+1+(WEEKDAY(A1-DAY(A1))=7)+2*(WEEKDAY(A1-DAY(A1))=6)-5

この数式は、月の初日を計算し、月の初日が土曜日か日曜日かに基づいて適切な値を追加します。次に、結果から5日が差し引かれます。

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

このヒント(12178)は、Microsoft Excel 97、2000、2002、および2003に適用されます。

Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります:

link:/ excelribbon-Calculating_a_Date_Five_Days_before_the_First_Business_Day [最初の営業日の5日前の日付を計算する]