Rogerは、Excelワークシートでhttp://www.formville.com/C2_free-invoice-forms.html[invoice]を追跡しています。すべての請求書は、その月の28日の期日で提出する必要があり、ロジャーは、日付を常に28日の次のインスタンスに「ジャンプフォワード」する方法があるかどうか疑問に思いました。

日付を強制的に進める最もクリーンな方法は、セル内の日付を調べる数式を作成し、その日付を次の目的の日付(28日など)に強制することです。次の式から始めるとよいでしょう:

=IF(DAY(A1)>28,DATE(YEAR(A1),MONTH(A1)+1,28),DATE(YEAR(A1),MONTH(A1),28))

この数式は、セルA1の日付を調べます。日付のDAY値が28より大きい場合、式は翌月の28日に等しい日付を作成して返します。 28以下の場合、当月の28日が返されます。

ただし、受け入れ可能な式をレンダリングするさらに短い方法があります。IF関数を完全に取り除く方法です。

=DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>28),28)

これは現在の年を年として使用し、日は常に28です。月はブール計算を使用します。日が28より大きい場合、(Day(A1)> 28)はTRUEになり、1として計算されるため、現在の月に1が加算されます。 28以下の場合はFALSEになり、現在の月を計算するだけで0として計算されます。

一部の人に1日だけを与える「厳密」になりたくない場合(2012年4月27日は2012年4月28日の期日を与える)、次の式を使用して少なくとも1週間与えることを計画できます。

=DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>21),28)

これにより、当月の28日が1日から21日までになりますが、それ以降の日付では、翌月の28日にジャンプします。

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

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

link:/ excelribbon-Forcing_Dates_Forward [Forcing DatesForward]