給与計算で便利なEXCEL TIPS集「60進法を10進法に変換したい!」

給与計算で便利な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]で割り切れないケースがありますのでご注意ください。


(宮武貴美


当社ホームページ「労務ドットコム」にもアクセスをお待ちしています。