ダンは会社で使用するワークシートを設定しており、http://calendarcorner.net/ [calendar]月の最初の営業日を計算する方法が必要です。彼は月の最初の日を計算する方法を知っていますが、その日は週末や休日になる可能性があります。

特定の月の最初の平日を計算する最も簡単な方法は、次のようにWORKDAY関数を使用することです。

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

この数式は、セルA1にある日付の最初の平日を検索します。 EOMONTH関数は、セルA1の日付の前の月の最終日を返し、WORKDAY関数は翌月の最初の平日を返します。

WORKDAYは少し風変わりなので、この関数は(EOMONTHを使用して)このようにまとめられています。最初のパラメーターが有効な就業日であると想定しています。

これは、パラメーターで使用されている日付が月曜日から金曜日の稼働週に該当するかどうかをチェックしないことを意味します。最初の就業日を決定する月の前日にパラメーターを強制し、2番目のパラメーターを1に設定することにより、関数は目的の月の最初の実際の平日を返します。

WORKDAY関数を使用すると、オプションで休日を考慮するように指定することもできます。これを行う最も簡単な方法は、セル範囲に休日の日付のリストを設定し、その範囲に名前を付けることです。 (範囲に名前を付ける方法については、_ExcelTips_の他の問題で説明されています。)範囲にMyHolidaysなどの名前を付けると、次のバージョンの数式を使用できます。

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

1年の特定の月の開始就業日を計算する場合は、これが巧妙なトリックです。セルA1に2020などの年が含まれ、セルA2に開始就業日を希望する月を表す1から12までの月番号が含まれているとします。次に、次の式を使用して、目的の日付を取得できます。

=WORKDAY(DATE(A1,A2,0), 1, MyHolidays)

この数式でDATE関数を使用する方法は、セルA2およびA1で指定された月と年の前の月の最終日を返します。

次に、WORKDAY(1)の2番目のパラメーターは、次の就業日に進みます。 MyHolidays(以前と同様)は、その月に発生する可能性のあるすべての休日を考慮します。

WORKDAY関数は、米国内の日付では問題なく機能しますが、他の国での就業日が必要な場合は少し厄介になります。その場合は、WORKDAY.INTL関数(Excel 2010から導入)を使用して、うまくいくかどうかを確認してください。週末と休日の指定を可能にする方法がはるかに柔軟です。

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

このヒント(10201)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Calculating_the_First_Business_Day_of_the_Month [月の最初の営業日を計算する]