給与計算で便利なEXCEL TIPS集「60進法を10進法に変換したい!」
先週から連載を開始した「給与計算で便利なEXCEL TIPS集」ですが、第3回目の本日は給与計算ソフトに特有な時間データの取り扱いについて、2つの関数を取り入れて説明しましょう。
【質問】
当社では年間の残業時間をEXCELデータで管理することになりました。給与計算時に給与計算ソフトに残業時間を入力しますので、このデータを活用したいと考えていますが、給与計算ソフトからデータをエクスポートすると、15時間30分は「15.3」という数値になります。マニュアルを確認したところ、「60進法のデータでエクスポートされます」という記述があります。このままの状態ではEXCELでの合計算出に手間がかかります。何かよい方法はないでしょうか。
【回答】
EXCELのTRUNC関数とMOD関数を利用することで60進法を10進法に換えることができます。
【解説】
今回は、2つの関数を複合しますので、4つのSTEPに分けて解説しましょう。
[STEP1]整数の取り出し
60進法で影響される部分は小数点以下ですので、まずは整数を取り出すためTRUNC関数を利用します。
■EXCELのヘルプ
=TRUNC(数値,桁数)
数値の小数部を切り捨てて、整数または指定した桁数に変換します。
■利用方法
=TRUNC(15.3,0) → 15
[STEP2]小数部の取り出し
次に小数点以下をMOD関数を利用して小数部を取り出します。
■EXCELのヘルプ
=MOD(数値,除数)
数値を除数で割ったときの剰余を返します。
■利用方法
数値を「1」で割ることで余りである小数部が取り出せます。
=MOD(15.3,1) → 0.3
[STEP3]小数の変換
STEP2で取り出した小数(60進法)を0.6で割ることで10進法に変換できます。
■計算式
=0.3/0.6 → 0.5
[STEP4]計算式のまとめ
STEP1~STEP3をまとめると以下の通りになります。
■計算式
=TRUNC(15.3,0)+MOD(15.3,1)/0.6 → 15.5
【まとめ】
単純に時間を「.3」を「.5」に変換するのであれば、EXCELの置換機能を利用することも考えられます。しかし、労働時間を1分単位で計算する会社も増えてきており、単純な置換では対処できなくなっています。今回の「60進法を10進法に変換したい!」ではこのようなケースで有効活用していただけるのではないかと思います。なお、「34分」など、10進法に変換する際に[STEP3]で割り切れないケースがありますのでご注意ください。
(宮武貴美)
当社ホームページ「労務ドットコム」にもアクセスをお待ちしています。