2011-06-27 10 views
2

Excelの2003年の日付列をフィルタリングして月の最後の平日の日付を表示する方法を知りたいと思います。月の最後の日を表示する日付列をフィルタリングする方法

公式= DAY(N8 + 1)= 1を使用してTRUE/FALSEの出力を持つ別の列を作成しようとしましたが、参照日が月末であれば真を返します。ただし、この数式は、月の最後の曜日が月の最終日でない場合、つまり12/29/2006の場合はfalseを返します。月の最後の平日に式が真を返すようにするにはどうすればよいのですか(それがtrue/falseで列を並べ替えることができます)。

答えて

3

これは私の作品:私は月の最終日の日付を取得するためにDATE(YEAR(B3),MONTH(B3)+1,0)を使用する方法

=IF(WEEKDAY(DATE(YEAR(B3),MONTH(B3)+1,0),2)>5, 
    DATE(YEAR(B3),MONTH(B3)+1,0)-WEEKDAY(DATE(YEAR(B3),MONTH(B3)+1,0),2)+5, 
    DATE(YEAR(B3),MONTH(B3)+1,0)) 

ノート、テストをそれは金曜日よりも「大きい」だ、そうであれば、そこから引く場合金曜日よりも大きい日数。

+0

おかげで非常に貴重な資源です。これはシリアル形式にするのに適していました。結局私がやったことは、Months()を使って月の数字の別の列を作ることでした。次に、隣接する列に、式= IF(L9 <= L8、 "FALSE"、 "TRUE")を入れます。これは、ネスト行が現在の行と同じ月の場合は基本的に偽を返します。したがって、「TRUE」は1ヶ月の終わりにのみ現れます。 True/Falseでフィルタリングします。再度ありがとう – Corey

3

列に数式を追加して、オートフィルタをオンにすることができます。 Chip Pearon's site has a formula which shows thisと、彼はあなたの助けのための

=DATE(YEAR(A1),MONTH(A1)+1,0)-(MAX(0,WEEKDAY(DATE(YEAR(A1),MONTH(A1)+1,0),2)-5)) 
+0

ニース、私よりも簡潔です。 +1をチップピアソンに:-) –

関連する問題