Q&A 5

売上日から請求日,入金日を求める方法


締め日を設定した売掛販売で,それぞれの売上げの請求日を求める方法について解説します。締め日も,ある期間の売上げはすべて同じ締め日にする場合と,顧客ごとに異なる場合などいろいろあるようですが,代表的な二つの例を解説します。さらに請求のあと一定期間後の入金日を求める式も解説します。

締め日が一つの場合の請求日

例えば 15 日を締め日とした場合,15 日までの売上げは当月の 15 日が,16 日以降の売上げは翌月の 15 日が請求日になります。
ここでは売上げの日付を入力する日付型の項目 [日付] と,請求日の日付を計算する日付型の項目 [請求日] があるとします。
[請求日] の計算式は以下のようになります。
$締日:=15,
#日付(#年([日付]),#月([日付]),$締日) + #条件(#日([日付])<=$締日,年月間隔'0月',年月間隔'1月')
締め日が 15 日以外の場合は,1行目の 15 の部分を該当する日の数字に直してください。ただし月末を締め日とする場合は以下の1行だけになります。
#月末([日付])

締め日が顧客により異なる場合の請求日

顧客ごとに締め日が異なる場合は,顧客台帳に締め日の情報をもち,売上げの表からそれを表引きして締め日を調べてから,請求日を計算することになります。

顧客台帳に [締日]
顧客台帳の表に例えば文字列型の基本項目 [締日] をおき,締め日の日の値を入れます。10 日締めなら「10」とします。また,月末なら「月末」とします。
売上表の [請求日]
売上げの表の [請求日] の計算式は以下のようになります。
$締:=#表引き('顧客台帳',.[顧客コード]=[顧客コード],.[締日]),
$締日:=#条件($締<>'月末',#数値($締),#日(#月末([日付]))),
#日付(#年([日付]),#月([日付]),$締日) + #条件(#日([日付])<=$締日,年月間隔'0月',年月間隔'1月')
売上表の [入金日]
入金日は請求日の翌月末や,翌々月15日などになることが多いようです。
日付型の [請求日] があるとして,入金日を求める場合は以下のような式になります。

入金日
翌月 15 日の場合#月末([請求日])+日時間隔'15日'
翌月末日の場合#月末(#月末([請求日])+日時間隔'1日')
翌々月 15 日の場合#月末([請求日])+日時間隔'15日'+年月間隔'1月'
翌々月末日の場合#月末(#月末([請求日])+日時間隔'1日'+年月間隔'1月')