コラム

コラム 詳細

2021年06月05日 (土)コラム

人事担当のためのEXCELマメ知識①

こんにちは、HRプラス社会保険労務士法人の武田素子です。
今回から数回にわたって、人事労務に携わる方が知っていると便利なEXCELのまめ知識をお伝えしていきます。ごくごく基本的なことから、目からうろこの知識までお伝えできればと思います。

第1回目は、勤怠集計で使うと便利な関数を2つご紹介します。

① 固定残業時間を超過した時間数を計算する  ~MAX関数~

勤怠をExcelで集計している会社でよくお目にかかるのが、「固定残業手当を支給していて、実残業時間から固定残業時間を引いた時間=超過残業時間を計算させたい」というものです。
実残業時間 - 固定残業時間 を出すときに使っていただきたいのが〔MAX関数〕です。

上図の例では、残業時間(C列)から固定残業時間(D列)を引いて超過残業時間(E列)を出していますが、残業時間が固定残業時間以内である場合、計算式の結果がマイナスになります。
時間の表示は原則マイナスを許容していないため、エラー表示(######)になってしまうのです。

=IF(C2-D2>0,C2-D2,0)という式でも0以上の値のみを表示できますが、[MAX関数]を用いることで、非常にシンプルな式で######問題を解決することができます。

計算式はシンプルであればあるほど、後から検証もしやすいので、MAX関数をぜひ使ってみてください。

 

② 個人ごとに作成したシートのデータを別シートで一覧にする ~INDIRECT関数

勤怠表を作り、各人の勤怠を入力。ぞれぞれの月の勤怠の合計を一覧にしたい、という時、一つ一つシートを参照してデータを拾ってくるのは骨が折れます。
ここで使いたいのがINDIRECT関数です。

上記の例でいうと、参照したいのは「田中ももこ」というシートの「J59」から「U59」のセルです。
数式であらわすと「田中ももこ!J59」ですが、試しに、同じブックに作成した「集計」シートに[=$A2&”!J59”]と入力しても、【田中ももこ!J59】という文字列が返ってくるだけです。

ここでINDIRECT関数を使うことにより、文字列が参照する先の情報を取得することができます。
INDIRECT(文字列)は、文字列であらわしたセルの中身を返す数式です。

参照先の列を変更していけば、それぞれの勤怠の合計値を参照することができます。

EXCELのベーシックな数式を覚えて、面倒な作業の手間を省き、工数を楽しく削減しましょう!

ページトップへ戻る