よしみな ブログ

資格試験・就活・労働問題・資産運用について記事を上げていきます。

残業代の計算方法

今回は残業をすると誰もが気になるであろう残業代の計算方法について解説していきます。

 

残業代の計算方法を説明する前に基本給について説明します。

 

基本給は総支給される給与から残業手当や通勤手当、家族手当や住宅手当などの各種手当を差し引いた給与のこと。

 

※総支給は税引前の支給額のこと。総支給から各種税金や健康保険料などが引かれ手取額になる。

 

基本的に基本給は総支給からすべての種類の手当額を差し引いたこと言います。なので、どの手当を差し引いた額が基本給なの?と思う方は全ての手当を差し引いた額が基本給だと考えてもらって大丈夫です。

 

基本給の特性

出勤さえしていれば特段の事情がない限り減額されません。
必ず支払いが保証されている額と言い換えても大丈夫です。※ただし、企業の業績が悪化したので、基本給を下げるという行為は特段の事情に含まれますので、認められます。
最低賃金との比較対象になります。
基本給が時給計算の元となりますので、基本給から時給を計算し、その額が最低賃金を下回る場合は労働基準法違反となります。
※住宅手当が全ての従業員に一律に支給されている場合、基本給に加えることができます。
※資格手当も加えることはできますが、全ての従業員に支給される手当ではないので加えないで計算を行い、最低賃金を下回っていたら資格がない人は最低賃金以下なのかもしれません。
!!注意!!

たとえば、Aさんはマンションを借りていて、月1万5千の支給がある。Bさんは実家暮らしなので、住宅手当が支給されていないという会社では、住宅手当を基本給に含むことはできません。

 

残業手当を計算する元になる。
残業代は基本給を時給換算して支給額を計算しています。︎今回はこれを使います。
※残業代を計算する元となる基本給の支給額は最低賃金との比較対象になる基本給額と同額になります。ここでは資格手当を含めた額で計算を行い、あなた自身の時給を求め、残業代がきちんと払われているか確認してください。

 

 

具体例

具体的に数字を入れて残業代を計算します。

 

ここでは、週40時間で月給制。また下記の内容の給与。ただし、住宅手当は従業員全員に支給されているとする。

 

f:id:yosi_mina:20200426181613p:plain

給与内訳

だとすると…

残業代の元となる時給は

 

残業代計算時給=残業代計算月額÷1ヶ月所定労働時間

(1ヶ月所定労働時間は会社によって変わります。週休二日制と完全週休二日制でも変わってきます。今回は完全週休二日制で計算します。※22日×8時=176×8時=176時間)

 

残業代計算月額=(200,000+35,000+40,000)=275,000

 

残業代計算時給=275,000÷176時間=1562.5円

 

これで時給が計算されました。

 

この額が働いた時間に掛けられて支給されるわけではなく、これに以下の表の数字の倍率を加算した(加えた)額以上の額が、支給されます。

 

f:id:yosi_mina:20200426181645p:plain

割増率

※深夜労働とは22:00〜翌5:00までの労働時間のこと。基本の就業時間が深夜の仕事は深夜残業には該当しません。

 

ここも表を見ただけでは分からないので、具体的にどういう残業をしたか決めていきます。

 

ここで、就業時間は9:00〜18:00の8時間労働、法定休日は日曜日、法定外休日は土曜日とします。

 

状況1

・18:00〜20:00まで残業した。

この場合先ほど計算した時給額に普通残業の割増率を足して計算された時給額が支給されます。

¥1562.5(時給)×1.25(割増率)×2(時間)=3906.25

なので、¥3907以上が支給されます。

 

状況2

・18:00〜翌1:00まで残業した。

この場合は18:00〜22:00までは普通残業の割増率(1.25)。22:00〜翌1:00までは普通残業の割増率に深夜残業の割増率を加算した割増率(1.5)を用いて時給額が計算され、支給されます。

 

f:id:yosi_mina:20200426181713p:plain

なので、¥14,844以上が支給されます。

 

状況3

・土曜日に9:00〜20:00まで働いた。

土曜日は法定外休日なので、休日残業の割増率(1.25)が加算されます。18:00〜20:00までの2時間は休日残業の普通残業だが、休日残業としかならない。

 

¥1,562.5(時給)×1.25(割増率)×10(時間)=15,625

 

なので、¥15,625以上が支給されます。

 

状況4

・日曜日に10:00〜23:00まで働いた。

10:00〜18:00までは日曜日が法定休日なので割増率(1.35)が加算されます。18:00〜22:00までは休日残業になるので法定休日労働の割増率に休日残業の割増率が加算された割増率(1.6)を用いて計算されます。また22:00〜23:00までは法定休日残業かつ休日残業かつ深夜残業なので、割増率が1.85となる。

下記のようになります。

 

f:id:yosi_mina:20200426181733p:plain

なので、¥27,657以上が支給されます。

 

 

以上のような計算方法で残業代が計算され、支給されます。ここに記載したのはあくまで一例ですので、残業代計算月額に含まれる手当等は会社によって変化します。

 

また、就業規則等によっては上に記入している割合以上の割合で残業代が計算されている可能性もあります。

 

※上記はあくまで最低のため、普通残業が1.25の割増率でなく、1.5の割増率でもいいため、高い場合がありますので「¥##,###以上が支給される」と記載しています。

 

まとめ
  • 残業代は基本給から計算されている。
  • 最低割増率は時間帯によって違う。
  • 法定休日も最低割増率が変わる。

 

以上です。

 

ここまで読んで頂き、ありがとうございました。

Excel VBA(マクロ)オブジェクト・プロパティの詳細説明

 

今回は前回のブログで解説したRange・Cellsオブジェクトとプロパティについての詳細を解説していこうと思います。

 

オブジェクトは目的物という意味から何となくですが、意味が分かると思います。

しかし、プロパティについては前回の説明もざっくりした説明だったので、オブジェクトとの違いを理解していない方もいるかと思います。

 

それでは、オブジェクトとプロパティの違いで何ができるというのかを解説していきます。

 

オブジェクト
VBA(マクロ)では、操作対象として指定するセルの範囲やシート、Excelブックのことを言います。(実際にはExcel以外でもマクロを動かすことができるのでこれら以外にもあるのですが、すべてを知っているわけではないので、とりあえず確実に知っている範囲で記載します。)
プロパティ
オブジェクトの操作対象範囲からさらに細分化できる範囲を指定する場合に使用するものです。

 

今回はこちらの解説がメインです。

具体的にプロパティを設定している例をいくつかあげて解説していきます。

1.シートをオブジェクト指定してシート内の特定範囲のセルをRangeプロパティ指定するコード

    ActiveSheet.Range("B2", "D6").Select

これはアクティブシートをオブジェクトとしてそのB2からD6を選択するコードです。

実行すると下記のようになります。

 

f:id:yosi_mina:20200424233625p:plain

1.実行結果



 

2.セル範囲をRangeオブジェクト指定して、選択範囲内の特定範囲内のセルをRangeでプロパティ指定するコード

    Range("C2", "I10").Range("B2", "D6").Select

これはC2からI10をオブジェクトとしてそのB2からD6を選択するコードです。

実行結果は下記のようになります。

 

f:id:yosi_mina:20200424233643p:plain

2.実行結果



 

1.との違いを解説します。

簡潔に説明すると2.のプロパティでは相対参照が使用されています。

C2からI10を一つのシートと考えてC2(=A1のセル)、I10(=G9のセル)ととらえられ、次のプロパティで選択されています。なので、上記のような結果になります。

 

以上がRangeのオブジェクトとプロパティの違いです。

Cellsについても同様のことが言えます。

具体例を下記に示しますが、内容は上記と同じなので解説は省略します。

 

3.シートをオブジェクト指定してシート内のセルをCellsプロパティ指定するコード

    ActiveSheet.Cells(2, 4).Select

実行結果は下記になります。

f:id:yosi_mina:20200424233706p:plain

3.実行結果



解説は上記1.のRangeプロパティと同様です。

 

4.基準セルをCellsオブジェクトで指定して、Cellsを用いてセルを相対参照にてプロパティ指定するコード

    Cells(2, 2).Cells(2, 4).Select

実行結果は下記になります。

f:id:yosi_mina:20200424233723p:plain

4.実行結果



解説は上記2.のRangeのオブジェクト・プロパティ指定と同様です。

 

 

まとめ
  • オブジェクトは目的物(大枠)のこと
  • プロパティはオブジェクトの補足(相対参照で指定)

 

 

他の例として挙げてみると…

森をオブジェクトとして指定すると一本の木や複数の木をプロパティで指定するといった感じです。

また木の指定は右から何本目といったものから、一つを指差し指定するといった感じでしょうか。

 

いかがでしたでしょうか、オブジェクトとプロパティの違いは理解していただけたでしょうか。

 

以上で今回の解説は終了となりますが、何か気になることがあればコメント等で気軽に質問していただけたらと思います。

 

ここまで読んで頂き、ありがとうございました。

 

Excel VBA(マクロ) Range Cells

Xserver Business

今回はマクロにてオブジェクト(対象)を指定する際に使用するRange・Cellsについて解説します。

 

Rangeはオブジェクト指定するためのプロパティとして使用します。(わからない方は呼び飛ばしてもらって構いません。)

 

Rangeオブジェクトはセルを指定しています。

Rangeプロパティはアクティブシート等に対して範囲指定を行うものとなります。

セル範囲に対しても相対参照で範囲指定を行うことが出来ます。

 

Rangeオブジェクト、Rangeプロパティ共に意味はほとんど変わらないので、今回は同様とみなして解説します。

 

CellsもRangeと同様にオブジェクト、プロパティに分けられますが、Rangeと同様に意味はほとんど変わらないので今回は同様とみなします。

 

※CellsとRangeはまったく違います。

(オブジェクトとプロパティの意味については同様という意味です。)

 

CellsとRangeの違い

簡単に説明します。

Rangeは複数セルを指定する際に使用します。また、文字列でセルを指定できます。

 

Cellsは変数を用いてセルを指定する際に使用します。また、数値でセルを指定できます。(文字列でもできます。文字列を使用する場合(4,"B")と記述する必要があります。具体的には後ほど書きます。)

 

※変数を用いて複数セルを指定する場合はCells、Rangeの両方を使用して指定します。具体的な説明は後ほど行います。

 

説明文ではよくわからないと思いますので、具体的にコードを書いて行きます。(筆者もVBAを学び始めたときはオブジェクト指向とはなんぞや?からでしたので、わからなくても大丈夫です。コードを書いていれば次第にわかるようになります。)

 

1.Rangeオブジェクト

Range("B2").Value = 12

とすると下記のようになります。

f:id:yosi_mina:20200424223436p:plain

1.実行結果



 

2.Rangeプロパティ

ActiveSheet.Range("E4").Value = 14

どすると下記のようになります。

f:id:yosi_mina:20200424223719p:plain

2.実行結果



 

1と2の違いを説明します。

これは上記でも述べたオブジェクトであるのか、プロパティであるのかの違いです。

1のRangeはオブジェクトとなります。

2のRangeはプロパティとなります。

2ではActivesheetがオブジェクトとなっています。

 

考え方としては、

1番左にオブジェクトがきます。(これの)

それ以降にプロパティがきます。(何をどうする)

オブジェクトとプロパティが一つずつである場合は「オブジェクト」を「プロパティ」するとなります。

 

※オブジェクトとプロパティについては後日記事を上げます。

 

1では「セルB2の値を12にする」というコードになります。

 

2では「アクティブシートのセルE4の値を14にする」となります。

 

3.Cellsオブジェクト

次にCellsのコードを書きます。

Cells(4, 3).Value = 12

もしくは

Cells(4, "C").Value = 12

とすると下記のようになります。

f:id:yosi_mina:20200424223741p:plain

3.実行結果

※CellsプロパティについてはRangeプロパティと同じ方法で行えば、セル指定できます。(オブジェクトにセルもしくはセル範囲を指定した場合は相対参照にてセル指定を行います。これらについては次回のブログで上げたいと思います。)

以上がRangeとCellsの違いです。

Xserver Business

 

RangeとCellsの使い分け

Rangeは複数セルを選択する際に使用します。Cellsはマクロ内で変数の値を用いてセルを指定したい際に使用します。

 

具体的にコードを書きます。

4.Rngeオブジェクトで複数セルを選択

Range("A1:E4").Select

とすると、下記のようになります。

f:id:yosi_mina:20200424223821p:plain

4.実行結果



 

これで複数のセルが指定できます。

 

Cellsを用いて複数セルを選択する場合

Cellsだけでは複数セルの選択することができません。

しかし、Rangeを使用することで変数を使用してセルを選択することができます。

 

具体的にコードを書きます。

5.Rangeオブジェクト・Cellsプロパティを使用して複数セル選択

Range(Cells(1, 1), Cells(4, 3)).Select

 

とすると、下記のようになります。

f:id:yosi_mina:20200424223840p:plain

5.実行結果



 

この数値の部分(1や4、3の場所)に変数を入れることで変数を使用して複数セルを指定できます。

これも具体的にコードを書いておきます。

6.Range・Cellsの両方を用いて変数に順じたセル選択を行う。

i = 4 + 3

j = i + 1

Range("A1", Cells(i, j)).Value = 11

とすると、下記のようになります。

f:id:yosi_mina:20200424223856p:plain

6.実行結果



 

これはRange(セル1,セル2)とするとセル1とセル2の間の範囲を指定できることからセル2にCellsで変数を用いたセル指定を行うことにより、複数セルを指定する方法になります。

 

これで変数を用いても複数セルを選択することができます。

まとめ
  • Range、Cells共にオブジェクト・プロパティがある。
  • Rangeは文字列で、複数のセルを指定できる。
  • Cellsは数値で、変数の値で1つのセルを指定できる。
  • 変数を用いて複数のセルを指定する場合は、RangeとCellsの両方を使用して行う。

 

以上です。

 

ここまで読んで頂き、ありがとうございました。

厚生年金保険料額の決まり方

 

会社に勤めている方は給料明細を見たらわかると思いますが、厚生年金保険料が引かれていると思います。(引かれていない場合は労働条件を確認してください。社会保険が完備されていません。事業規模が大きい場合は、加入義務があるので、きちんと確認してください。)

 

最近何かと引かれる税金や保険料が高いと何かと話題ですが、今回はその税金や保険料のうち最も引かれる額の大きい厚生年金の保険料について書いていきたいと思います。

 

厚生年金の保険料額は毎月の給料から標準報酬月額・標準賞与額という金額を求め、それぞれに厚生年金の保険料率を乗じて得た金額となります。

 

保険料率は平成30年以降、18.3%となっています。しかし、標準報酬月額に保険料率を掛けた額をそのまま支払うことになるのではなく、会社と折半して支払うことになります。(厚生年金基金に加入している場合一定の金額が免除されます。)

 

つまり、標準報酬月額の9.15%を支払うことになります。

 

標準報酬月額は、三か月分の給料を平均したものを29万円から31万円までは30万円とするといったような区分で分けています。また標準報酬月額の区分はお住いの都道府県によって変わってくるので気を付けてください。(簡単な説明ですが、大枠はあっていると思います。詳細に説明すると難しくなってしまいます。)

お住いの都道府県の標準報酬月額については下記を参照ください。

https://www.kyoukaikenpo.or.jp/g3/cat330/sb3150/r02/r2ryougakuhyou4gatukara/

 

! 具体例 !

 

住所:東京都

三か月の平均給与351,934円とします。

この場合標準報酬月額は360,000円となります。

よって従業員が負担する厚生年金保険料は

360,000(円) × 0.0915 = 32,940(円)となります。

よって、この具体例の方が引かれる厚生年金保険料の額は32,940円です。

 

厚生年金保険は正社員の場合は加入させなければならないので、正社員でも厚生年金保険料が引かれていないという場合は気を付けてください。※会社でも半分支払わなくてはならないので、支払をしたくない使用者(事業主・社長・会長)などが支払わないために引かれていない場合もあるかもしれません。

 

以上です。

 

ここまで読んでくださり、ありがとうございました。

Excel TODAY関数 簡単  使い方

今日の日付を返す関数

 

今回はToday関数と日付の計算に書いていきます。

 

それじゃ、まずはToday関数から…

 

入力したいセルに以下を入力

 

=TODAY()

 

すると今日の日付が計算されて出力されます。

 

f:id:yosi_mina:20200422223015p:plain

TODAY関数



 

ここまでは大丈夫だと思います。

 

ですが、ここで、昨日の日付を継続的に利用したいんだけど?とか、今日の一年前の日付を利用したいんだけど?みたいなことがあると思います。そんなときはexcelでは日付の計算ができます。

 

セルD1に以下を入力することで昨日の日付が出力されます。

 

=TODAY() - 1

 

f:id:yosi_mina:20200422223434p:plain

TODAY()-1

 

また1年前の日付を計算するときは…

 

=TODAY() - 365 (※うるう年の場合は366)

 

これで去年の日付が出力されます。

 

f:id:yosi_mina:20200422223709p:plain

TODAY()-366

 

ここで一つ注意があります。セルD1に以下を入力して

 

=TODAY()

 

セルの表示設定が「数値」であると…

 

※ここで、数字の値が出力されます。(今回は、43943)

f:id:yosi_mina:20200422224513p:plain

セルの表示設定を数値に

 

これはバグとかエラーではなく、セルの表示形式が日付になっていないことから数字になっているのです。

 

厳密に説明しますと、excelでは日付も数字で保存されています。1や2といった数字の表示形式を変更することで日付「2020/04/22」などに表示されます。

 

表示の変更方法

変更したいセルを選択し、右クリック→「セルの書式設定」→「表示形式」→「分類から日付を選択」→「種類はお好みのものを選択」→右下の「OK」をクリック で表示形式を変更することができます。

 

それじゃ、今日はこれぐらいで…

 

excel関数・VLOOKUP

今日はこれを覚えればexcel作業の一部を自動化できるVLOOKUP関数を解説します。

 

VLOOKUP関数は検索した値が一致するもしくは含まれる値を探し出して、探し出したセルの列から何番目かの値を返します。

 

...

 

こんな風に言われてもよくわからないと思います。

 

具体例

まず、下記のようなexcel表を作成します。

f:id:yosi_mina:20200421230246p:plain

参照データ

 

横のセルに名前と住所Noを入力する欄を作成し、住所欄を空白にした状態にします。

 

f:id:yosi_mina:20200421230829p:plain

住所Noだけを入力しておく

 

ここで住所Noを検索する値として住所を入力していきます。

それではセルF2に「=vlookup(E2,A$2:B$16,2,FALSE)」を入力します。

すると…

f:id:yosi_mina:20200421230332p:plain

実行結果

=vlookup(E2,A$2:B$16,2,FALSE)」について

=vlookup()・・・関数の宣言です。ここに関数を入れますよ!という宣言です。

E2・・・検索値です。個々のセルの値を範囲の一列目から探します。

A$2:B$16・・・検索値を探す範囲+何行目を返す値の範囲を指定します。

!POINT!

 

ここでは住所Noを検索して住所を返すので、そのデータが入っている範囲であるA2からB16までを選択しています。

また「$」は固定記号です。「F2」のセルを「F13」のセルまでオートフィルでvlookup関数を入力するので、オートフィルした際に「A2」の「2」が変化しないように「B16」の「16」が変化しないように固定記号で数字を固定します。固定記号を付けない場合オートフィルで下に行くにつれて範囲が下にずれていきます。

 

2・・・範囲の何列目を返すかの値です。(列番号)

「1」が入力されていると住所Noの値が返ってきます。ここでは「2」を入れることで住所の値を返すようにしています。

FALSE・・・検索方法についての指定値です。

「TRUE」にすると近似一致検索・あいまい検索になってしまい、検索する範囲の値が昇順になっていないと検索結果が変わってきてしまいます。検索結果が変わってしまった例を下記に示します。※便宜上下記左の表の「宮城」住所Noを「3」に、「秋田」を「6」に変更しています。

f:id:yosi_mina:20200421231124p:plain

「TRUE」にした場合



検索結果が正しくなくなってしまった例

「FALSE」とすることで完全に一致した値しか検索されなくなります。

※「TRUE」の方が計算が早いというメリットがありますが、表が昇順であるという条件を満たす必要があります。「FALSE」の場合は表が昇順である必要はありません。

 

次に、オートフィルで「F16」までvlookup関数を入力します。

f:id:yosi_mina:20200421231209p:plain

終結



 

これで、住所Noを入力するだけで住所を自動で入力することが出来ました。

 

 

まとめ・注意点

vlookup関数は定められた表から検索値を探してきて指定した列番号の値を返すことが出来る関数です。

検索する値は日本語や漢字も可能です。

エラーが出たら、範囲の指定と列番号の指定をチェックしてみてください。

 

ここまで読んで頂きありがとうございました!(^^)

 

マクロ(VBA)とExcel関数で業務の効率化

今回書く記事は、マクロ(VBA)とExcelで使用できる関数です。

 

Excelを使用する実務を少しでも早く処理するために今すぐに取り掛かれることは、マクロとExcel関数だと思います。

 

マクロとExcel関数を使用することである程度の業務短縮ができます。

 

勉強をする時間を作るため業務短縮を行う方法の紹介をしようと思います。

 

では、まずマクロと関数がどういうものなのかを簡潔に説明します。

 

マクロ
Microsoft Officeで使用できるアプリのこと。実際には、プログラムコード(VBA)を理解していなくてもプログラムが組めるようになっています。しかし、結局理解していないと使用できない。
関数
複雑な計算を処理でき、Excelシートで使用できる。セルに「=関数(数式、値など)」といった感じで使用する。

 

 

どういうものかを理解するよりも使い方を理解するほうが重要だと思うので、説明はこれぐらいで終わります。

 

 

Excel関数・マクロ(VBA)の使用方法を紹介していきます。

 

入力作業
なるべく入力するデータが少なくなるよう工夫するためにExcel関数を用います。

 

例えば、「はてな・ブログ・マクロ・VBA」のどれかを上から1行毎に入力するとなったとき、

下記のような表を作成し、Excel関数であるVLOOKUP関数を使用して入力作業がすぐ終わるようにするという作業効率化ができます。

f:id:yosi_mina:20200420132749p:plain

 

VLOOKUP関数の使用方法は今後、解説します。(長くなるので…)

 

※入力する種類が少ない場合は上記でも良いが、種類が増えた時や文字数の多い入力を行う場合は、少ない文字を入力すれば、入力が終了するようにExcel関数を使用することで、入力作業を効率化することができます。

以上を行うことで下記の二つを満たすことが出来ます。

  • 誤字・脱字を防ぐことが出来ます。
データに誤字・脱字がないのは使いやすさも増します。
  • 間違いがあっても気づきやすい。
大きな間違いしかないので気づきやすいです。(上記の例では、「はてな」と入れる箇所に「ブログ」と入れているなどのミス)

 

フォーマットの設定
セルを結合したり列を削除したりといった時は「マクロの記録」から記録を行い、ショートカットでマクロを実行できるようにし、作業の短縮ができます。

 

※「マクロの記録」は繰り返し作業を行う際に重宝します。ただし、相対参照での記録を行い、ある程度のVBAの知識が必要になります。VBAの記事も今後上げます。

 

それでは実際にはどうするのか…

 

ここで自分の方法を紹介します。

  1. 提出するシートを作成します。
どういう書式・形式で作成、提出するのかを決定します。
  1. データを入力するシートを作成します。
もしくは改ページプレビュー設定をし、印刷されない場所に入力欄を作成します。罫線等で囲うとわかりやすいです。
  1. 入力欄を作成したら、計算するセルを決定し、計算式・・・つまり関数を入力する。
計算式は変更してほしくないので、注意文等で「変更しないでください」と入れておくといいと思います。(自分の名前を入れておくとこれ何?と聞いてきてくれる人もいるかもしれないので、名前も入れておくといいかもしれません。)
  1. データを入力したら、最後はセルの参照でデータを移動し、印刷が出来る状態にします。
Excel関数のVLOOKUP関数や普通に「=」で参照や文字列を結合する「&」などを使用し体裁を整えていきます。
  1. !!完成!!

 

以上になります。

 

まとめ
  • VBAExcelの関数を用いてExcelシートを作成する。
  • 入力作業は出来るだけ入力する文字数を減らす。
  • データは誤字・脱字を防ぐため一つの表から参照する。

 

具体的にどんな関数を使用するかは行う業務によって変わってきます。今後はExcel関数のブログももっと上げていきます!

 

ここまで読んで頂き、ありがとうございました。