2月決算法人では、4年に1回、決算日が変わるのです。(T_T)
決算日という日は大切な日で、会計期間の最終日ですから、次の会計期間のために仕訳データファイルを作成する「年度更新」という重要な処理にも関わっています。
年度更新では、いろいろな処理を行いますが、次の年度の期首日と期末日の確定もそのひとつです。
例えば、3月決算であれば、常に、期首日は4/1で、期末日は3/31なので、それに西暦2025年で始まり2026年で終わるという「年」を付け加えるという、わりと単純な処理で済みます。
しかし、2月決算の場合は、常に期首日は3/1ですが、閏年の2月は2/29で終わり、それ以外の年では2/28で終わるわけです。
快速会計のVer.100(2003年の製品)では、このあたりがうまくできていなくて、最終的にデータを保存するテーブル(データの置き場所)を開いて、新しい年度の期末日、2/28を手打ちで2/29に修正したことを思い出します。(^_^;)
では、現在の快速会計では、どういう処理になっているのか。
年度更新する先の年度、つまり翌期が閏年であろうと、そうでなかろうと、決算月が何月であろうと同じ処理をして、その結果として、正しい期首日・期末日が設定されるようになっています。
1.翌期の期首日は、前期の期末日の翌日とする。(異議なぁ~し♪)
2.翌期の期末日は、翌々期の期首日の前日とする。(よくわかりませぇ~ん)
つまりですね、、、
2月決算を例にして書きますと、年度更新する先が閏年であろうとなかろうと、「期首日が3/1」ということは絶対に不動なわけです。そこで、翌々期の3/1の前日を期末日に設定すればよいことになります。
実は、AccessもExcelも、年月日のデータをシリアル値として保有しているそうです。何千年分も、だそうです。シリアル値そのものを私は見たことがないですが、すごい桁数の数字の並びではないかと思います。そのシリアル値に対して加算減算ができ、「-1」で「前日」の年月日を得ることができます。
次の閏年は2028年ですが、2028/3/1 引く「1」という計算で、2028/2/29 という日付を得ることができます。
DateSerial関数という、とても便利なものを使うのです。
2月決算を例にして書きましたが、何月決算であっても、同一の処理によって、正しい期首日・期末日を設定することができるのです。