Skip to main content

エクセルで月末の日付を求めたい場合はeomonth関数を大量に使っていたのでeomonthの依存・中毒症状が出ています。

しかしながらタブローではそう簡単に月締めの計算が出来無いそうです。各つきの最終日を探し、月末は31日の場合も30日の場合も、また2月はうるう年があり、月締日が平日という風に計算したい方は最終日が平日か週末かを確認次第土曜の場合一日間引くか日曜の場合二日間引くか。。。とにかく複雑なロジックになります。

 

どうしたら自動的に月締の日付を求めばいいのか、に悩み中の方、タブローの初心者向けの方やエクセルのeomonth依存・中毒の方などはこちらで簡単にeomonth機能をタブローでご利用出来る様に下記の情報を提供をしています。

 

必須条件:日付のフォーマットがタブロー・フレンドリーであること(M/D/YYYY)。例:勤労感謝日が11/23/2016で記載していること。

 

ステップ(1):日付のフォーマットがまずストリング型に変化します。(A) 受注日をご覧ください。

ステップ(2):あるつきの最終日を見つけるにはまずその月の翌月ツイタチから一日を引く必要があります。(B) 最終日をご覧ください。

ステップ(3):最終平日を見つけるにはまずその月の翌月のツイタチから何かを引く必要があります。その何というのが上記の最終日が日曜の場合は翌月ツイタチから三日間を引く、上記の最終日が土曜の場合は翌月ツイタチから二日間を引く、上記の最終日が平日の場合は翌月ツイタチから一日間を引く。(C) EOMをご覧ください。

 

ややこしいロジックですがこれで月末の日付を求めます。

ご注意:このロジックでは祝祭日が含んで無い為、祝祭日も計算に入れたい方はさらにその日付をハードコードする必要があります。

2 réponses
  1. 23 juil. 2016, 06:45

    詳細な説明、わかりやすいです。

    ただ一点だけ。。  すでに、「最終日」が計算してあるので、

    EOMは、

     

    [(C) EOM]

    DATE(DATEADD('day',

    CASE DATEPART('weekday', [(B) 最終日])

    WHEN 1 THEN -2

    WHEN 7 THEN -1

    ELSE 0 END

    , [(B) 最終日]))

     

    にしてしまって良いと思います。

     

    村上

0/9000