Excelを利用して給与支払予定日の土日チェック

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

こんにちは。

給与(「月給」と「賞与」。以下同じ。)の支払予定日が土日に該当するかどうか、気になることはありますか?

今日はExcelを利用して給与の支払予定日が金融機関の休日(土日、祝日、年末年始休暇を含む)に該当するかどうかを確認する方法について記載します。

※ この記事では、給与支払い予定日が金融機関の休日と重なった場合に調整する日を「手入力で調整する」ファイルと「自動で調整する」ファイルを作成しました。

(使用Excel;2010、2013)

(参考)

参考 Office support;DATE関数

参考 Office support;TEXT関数

参考 内閣府;「国民の祝日」について平成28年(2016年)から平成30年(2018年)国民の祝日(csv形式:2KB)

参考 e-Gov法令検索労働基準法

参考 国税庁;[手続名]事前確定届出給与に関する届出


Excelを利用して給与支払予定日の土日チェック

1年分の給与の支払予定表を作成する場合は、毎月一定の期日に支給することになっている給与の支払予定日が金融機関の休日(土日、祝日、年末年始など)に該当する場合は、支払予定日を調整する必要があるため、給与の支払予定日が金融機関の休日に該当するかどうかを確認しなければなりません。

また、税務署に提出する「事前確定届出給与に関する届出」の付表には、1年間の給与支払日を記載する欄があるので、この届出書を作成する場合も1年間の給与支払予定日が金融機関の休日に該当するかどうかを素早く確認する必要があるでしょう。

(国税庁;[手続名]事前確定届出給与に関する届出付表より)

Excelを利用すれば、1年分の給与の支払予定日が金融機関の休日に該当するかどうかを確認するのは、割と簡単です。

 

事前準備 給与の支払予定日と支払のルールを確認

Excelファイルを作成する前に、給与の支払予定日と支払のルールを確認しておきましょう。(今回は締め日は考慮しません。)

例えば、毎月の支払日が「25日払い」のケースでこの25日が金融機関の休日に該当する場合の支給ルールは「繰り上げ」(つまり24日、23日・・・と前倒しで支給するルール)というルールを確認します。

10日払い、15日払い、20日払い、末払いなどいくつかケースが考えられますが、会社ごとにルールが異なりますので、事前に確認しておきます。

 

給与支払予定日の土日チェック(手入力調整Ver)

この記事では、給与の支払予定日が金融機関の休日に該当する場合の調整方法について、「手入力で調整する」場合と「自動で調整する」場合について説明しますが、最初に「手入力で調整する」場合のExcelファイルについて説明します。

次のようなシート構成のExcelファイルを用意しました。

 

基本情報シートの設定

上の画像のとおり、基本情報シートには給与支払日と調整方法を設定しておきます。

上の画像の例では、給与支払日を「毎月25日」、調整方法を「繰り上げ」と設定しました。

給与カレンダーシートの設定

給与カレンダー(1)シートの設定は次のとおりです。

[aside type=”boader”]

【各列の概要】

● A列 連番を入力しました。

● B列 月給、賞与という種別を入力しました。

● C~E列 支給予定日の年月日を、「年」、「月」、「日」に列を分けて入力し、表示しました。年と月は手入力です。日については以下に説明します。

● F、G列 調整前の支給年月日をDATE関数を使って、日付表示し、G列では、その支給予定日の曜日をTEXT関数を使って、自動で表示するようにしました。

● H列 調整方法が自動で表示されます

● I列 調整後の支給年月日を手入力します。

● J列 調整後の支給予定日の曜日が自動で表示されます。

[/aside]

 

支給予定日の「日」の設定式

私が作成したExcelファイルでは、給与の支払予定日の「年」(C列)と「月」(D列)を手入力し、「日」(E列)については、基本情報シートの支給予定日を参照して自動で入力するような式を記述しました。

たとえばE4セルに入力した式は次のとおりです。(上の画像の赤色の枠囲み部分)

[aside type=”boader”]

=IF(D4=2,IF(OR(基本情報!C$3=”末”,基本情報!C$3>28),DAY(DATE(C4,D4+1,1)-1),基本情報!C$3),IF(OR(基本情報!C$3=”末”,基本情報!C$3>30),DAY(DATE(C4,D4+1,1)-1),基本情報!C$3))

[/aside]

この式の記述で悩んだのは「28日以降が支給予定日の場合にどのように自動で表示させるか?」ということでした。そのため、上記のような長い式を記述することになりました。

比較的簡単な関数を使っていますので、詳しく説明する必要もないかと思いますが、参考までに式について説明しておきます。

[aside type=”boader”]

● 2月かそれ以外の月か

最初のIF関数では「2月かそれ以外の月か」を判断しています。

この記事を書き始めるころは、「給与の支払日を29日に設定した場合」、「・・・30日に設定した場合」と支給日によってIF関数を利用して処理を選択するという式を考えていたのですが、2月とそれ以外の月で分けて考える方が、自分ではすっきりしたので、最初のIF関数で2月かどうかを確認するような式を記述しました。

● 支給予定日は31日以降(2月の場合は29日以降)か

次のIF関数では支給予定日が31日以降「>30」(2月の場合は「>28」)を判断しています。(OR関数を利用して、基本情報の支給予定日に数値以外に「末」日支給予定と入力した場合についてもエラーがでないように記述しています。)

→ 31日以降(29日以降)の場合は、DATE関数、DAY関数を使って、「翌月の1日の1日前の日」を表示するという式を記述しています。式は「DAY(DATE(C4,D4+1,1)-1)」となります。

→ それ以外の場合(たとえば25日支給の場合)は、支給予定日(25)をそのまま表示します。

[/aside]

曜日の自動表示

上の画像のシートのG列とJ列では、TEXT関数を利用して、曜日を自動で表示しています。

例えばG4セルでは、「=TEXT(F4,”aaa”)」という式を記述しました。

「F4セルについて”aaa”で表示する」という式になりますが、表示コード「”aaa”」は「曜日を漢字で表示する」というコードになります。

(その他のコードは、LINK Office support;TEXT関数を参考にしてください。)

調整方法の表示

G列の曜日が「土、日」の場合は、H列に基準情報シートに入力した調整方法を表示するようにしました。

例えば、H4セルには次のような式を記述しています。

「=IF(OR(G4=”土”,G4=”日”),基本情報!E$3,””)」

調整する必要がある場合に基本情報シートのE3セルに入力した調整方法(上の画像の場合は「繰り上げ」)をG列に表示しています。

 

調整後の支給日を手入力

H列に調整方法が記述された場合は、I列に調整後の支給日を手入力します。J列にI列に入力した支給日の曜日が自動で表示されますので、土日に該当しないことを確認します。

[aside type=”pink”]

このExcelファイルを利用したチェック方法だと、祝日や年末年始の休業日については自動で判断できません。カレンダーで再チェックする必要があります。

[/aside]

年間に賞与を合わせても16回程度のチェックなので、調整後の給与支払日を手入力しても問題ないかと思います。次のパラグラフで取り上げるように、祝日や年末年始の休日を含めて自動でチェックするExcelファイルも作ってみましたが、そこまでは必要ないとこの記事を書いていて思いました。

 

給与支払予定日の土日チェック(自動調整Ver)

次に土日以外に祝日や年末年始を考慮して給与の支給予定日を自動で調整して表示するExcelファイルについて説明します。

[lnvoicer icon=”https://ar-kawabe.com/blog/wp-content/uploads/2015/06/1527_Ako_NC_31.jpg” name=”管理人”]上記にも触れていますが、一般の企業が、この自動調整Verのファイルを作成する必要性はあまり感じられません。参考程度にお読みください。[/lnvoicer]

事前準備 祝日データのダウンロード

自動調整VerのExcelファイルでは祝日に該当するかどうかを判定するため、事前準備として「国民の祝日」を確認しておきましょう。

私は、内閣府のサイトで祝日のcsvファイルを公開しているのでダウンロードしました。

LINK 内閣府;「国民の祝日」について平成28年(2016年)から平成30年(2018年)国民の祝日(csv形式:2KB)

基本情報シートの設定

次のような「給与支払日、調整方法、給与を振り込まない日」を設定を設定したファイルを用意しました。(シート構成は手入力Verとほぼ同じです。)

「名前の定義」機能を使って「給与を振り込まない日」の日付列を定義

「給与を振り込まない日」は、祝日、土日、年末年始など給与の振込ができない日に加え、支払者が特別に設定した休日で給与を振り込まないと決めた日などの情報を記載しておきます。

Excelの「名前の定義」の機能を使って、「給与を振り込まない日」の日付列(上の画像のG列)を定義しておきます。

私は「給与休みD」と定義しました。

給与カレンダーシートの設定

給与カレンダー(2)シートの設定は次のとおりです。

 

[aside type=”boader”]

【各列の概要】

● A列 連番を入力しました。

● B列 月給、賞与という種別を入力しました。

● C~E列 支給予定日の年月日を、「年」(C列)、「月」(D列)、「日」(E列)に分けて入力し表示しました。「年」と「月」は手入力、「日」については手入力Verと同じく基本情報の支払予定日情報から自動で判定して表示するようにしました。

● F、G列 F列では、調整前の支給年月日(C列~E列)の情報に基づきDATE関数を使って、支給年月日を日付形式で表示しています。G列では、その支給予定日(F列)の曜日をTEXT関数を使って、自動で表示するようにしました。

● H、I列 調整前の支給年月日が「給与を振り込まない日」に該当するかどうかを判断し、該当する場合は、土日や祝日の名称等を表示し、I列では調整する日数を表示するようにしました。

● J、K列 調整方法と調整の基準日数を表示しました。(繰り上げなら「-1」日、繰り下げなら「1」日が表示されます。)

● L、M列 調整後の支給予定日と曜日が自動で表示されます。

[/aside]

支給予定日が「給与を振り込まない日」に該当するかどうか

この自動調整VerのExcelファイルでは、給与の支給予定日が「給与を振り込まない日」に該当するかどうかを確認して、H列に祝日等の名称を表示するようにしてあります。

このH列ではExcelの名前の定義機能で定義した「給与休みD」を使用して式を記述しています。

例えば、H5セルでは、「F5セル(給与支給日)が給与休みDと一致するなら、その名称等を表示する」という内容の式をISERROR関数、MATCH関数、INDIRECT関数を利用して記述しています。

[aside type=”boader”]

=IF(ISERROR(MATCH(F5,給与休みD,0)),””,INDIRECT(“基本情報!H”&MATCH(F5,給与休みD,0)+3))

[/aside]

MATCH関数、INDIRECT関数はあまり利用しない人も多いかと思います。(私もあまり利用しません。)MATCH関数、INDIRECT関数の使い方は以下の記事を参考にしてください。

関連記事 MATCH関数、ADDRESS関数、INDIRECT関数を使って検索する

何日調整するか

自動調整VerのExcelファイルで重要なのは、給与の支給予定日が「給与を振り込まない日」に該当する場合に、何日調整するかを自動で算出することです。

上の画像のExcelファイルでは、I列に「調整日数」を表示するようにしました。

[lnvoicer icon=”https://ar-kawabe.com/blog/wp-content/uploads/2015/06/1527_Ako_NC_31.jpg” name=”管理人”]この日数を算出するのが大変でした。正直、良い式が思い浮かばず、IF関数を多用して下の画像のような式を記述することにしました。(ひどいですね。)[/lnvoicer]

IF関数、ISERROR関数、MATCH関数を利用して、「(調整前の)給与支給予定日が、給与を振り込まない日に該当する場合は、K列に表示している調整基準日数を参照して何日調整するかを算出する」という式を記述しています。

例えば、F5セルには5月5日が表示されていますが「こどもの日」に該当するため、繰り上げ(前倒し)ルールの場合は、前日に調整する必要があります。

しかし、前日は「みどりの日」、さらにその前の日は「憲法記念日」に該当するため「3日」ほど調整する必要があります。そのためにIF関数を繰り返し使って日数を確認しています。

 

調整後の給与支払日と曜日

L列には、F列にI列で計算した日数を調整した支給年月日を表示し、M列ではその調整後の支給予定日の曜日を表示するようにしました。

L列の式は単純です。たとえばL5列には「=F5+I5」という式を入力しています。(もともとの支給予定日に調整日数を加えるという式です。)

 

まとめ

この記事で取り上げたExcelファイルは、ほとんど使用する機会はないかと思います。よって、1年分の給与の支払予定表を作成する場合は、手入力VerのExcelファイルで問題ないでしょう。

自動調整Verは、私のように給与支払予定日を何パターンも確認するケースでは有用かと思いますが、なかなかないケースではないでしょうか?

マクロで調整するファイルを作成しようと思ったのですが、今回の記事では作成しませんでした。

おまけ(賃金の支給期日について)

賃金の支払について、労働基準法では次のように定められています。

e-Gov法令検索労働基準法より)

 第三章 賃金

(賃金の支払)
第二十四条  賃金は、通貨で、直接労働者に、その全額を支払わなければならない。ただし、法令若しくは労働協約に別段の定めがある場合又は厚生労働省令で定める賃金について確実な支払の方法で厚生労働省令で定めるものによる場合においては、通貨以外のもので支払い、また、法令に別段の定めがある場合又は当該事業場の労働者の過半数で組織する労働組合があるときはその労働組合、労働者の過半数で組織する労働組合がないときは労働者の過半数を代表する者との書面による協定がある場合においては、賃金の一部を控除して支払うことができる。
○2  賃金は、毎月一回以上、一定の期日を定めて支払わなければならない。ただし、臨時に支払われる賃金、賞与その他これに準ずるもので厚生労働省令で定める賃金(第八十九条において「臨時の賃金等」という。)については、この限りでない。
(非常時払)
第二十五条  使用者は、労働者が出産、疾病、災害その他厚生労働省令で定める非常の場合の費用に充てるために請求する場合においては、支払期日前であつても、既往の労働に対する賃金を支払わなければならない。

 


■□◆◇ 編集後記 ◇◆□■

 土曜日に腰を痛めて、なかなかつらいです。