第N日曜日の月(Microsoft Excel)
アーネストは、最初にその年の第N日曜日(たとえば、その年の第23日曜日)を決定し、次にその日曜日が発生する月の名前を返すために、数式またはマクロのいずれかを必要とします。彼は、そのような式やマクロがどのように構築されるかについて途方に暮れています。
このタスクはマクロで実行できますが、数式で実行するのは非常に簡単なので、そのルートを使用します。 Excelは日付にシリアル番号を使用するため、第N日曜日などを把握するために必要な計算を非常に簡単に行うことができます。
適切な式を理解する秘訣は、前年の最後の日曜日を理解することです。 (はい、_最後の_日曜日です。)これはさまざまな方法で実行できますが、必要な4桁の年がセルA1に格納されていると仮定すると、これが適切な方法です。
=DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1)
これが機能するのは、WEEKDAY関数がデフォルトで1から7(日曜日から土曜日)の値を返すためです。たとえば、A1の年が2019であるとします。これは、WEEKDAYが2019年1月1日の値3を返すことを意味します。つまり、火曜日になります。そこから1を引くと、2が得られ、1月1日の実際の日付から減算します。結果は2018年の最後の日曜日の日付である12月30日です。
その日付が手元にあるので、必要な日曜日の数(セルB1にあるとしましょう)に7を掛けるだけです。これを上記で計算した日付に追加すると、次の日曜日の日付が得られます。希望する年:
=(DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1))+(B1*7)
この時点で、2つのオプションがあります。 1つは、上記の数式が配置されているセルにカスタム形式を適用できることです。 「mmmm」のカスタム形式を使用すると、結果が完全な月の名前として表示されます。私は、次のように、数式全体をTEXT関数でラップするという代替オプションを好む傾向があります。
=TEXT((DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1))+(B1*7), "mmmm")
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(1564)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。