給与計算で60進法を10進法に変換する方法
給与計算等でエクセルを使用して計算する場合、60進法の表示を10進法に変換したい場面が、あると思います。
15.3 → 15.5
エクセルの関数で、一度に変換できるものはありません。
EXCELのTRUNC関数とMOD関数を利用することで60進法を10進法に換えることができます。
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]で割り切れないケースがありますのでご注意ください。