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

「10進法を60進法に変換したい!」 先日、当社に最近入社した社員から「10進法を60進法に変換するときに9回置換をやっているんです。手間だなぁと思ってはいるのですが、何かいい方法ってありませんか?」という質問を受けました。最近、「給与計算で便利なEXCEL TIPS集」はお休みしていましたが、約9ヶ月ぶりにお送りしましょう。



【質問】
 当社ではパートタイマーの給与をいち早く算出するために、EXCELで計算しています。すぐに計算できるように時間は10進法を利用しているのですが、給与計算ソフトでは、60進法の入力となっており、変換には「.1」→「.6」、「.2」→「.12」、「.3」→「.18」・・・「.9」→「.54」と9回置換をしてからデータをインポートしています。今までは手間に感じているだけでしたが、今回、置換ミスがあり、誤ったデータをインポートしてしまいました。何かよい方法はないでしょうか。


【回答】
 今回は、「60進法を10進法に変換したい!」で利用したものと同じ関数を利用することで解決できます。EXCELのTRUNC関数とMOD関数を利用することで10進法を60進法に換えることができます。


【解説】
 例として、10進法の「15.2」を60進法の「15.12」に変換する方法を取り上げます。今回は2つの関数を組み合わせて使用しますので、4つのSTEPに分けて解説しましょう。(画像はクリックして拡大


[STEP1]整数の取り出し
 60進法・10進法で影響される部分は小数点以下ですので、まずは整数を取り出すためTRUNC関数を利用します。
■EXCELのヘルプ
 =TRUNC(数値,桁数)
  数値の小数部を切り捨てて、整数または指定した桁数に変換します。
■利用方法
 =TRUNC(15.2,0) → 15


[STEP2]小数部の取り出し
 次に小数点以下をMOD関数を利用して小数部を取り出します。
■EXCELのヘルプ
 =MOD(数値,除数)
  数値を除数で割ったときの剰余を返します。
■利用方法
 数値を「1」で割ることで余りである小数部が取り出せます。
 =MOD(15.2,1) → 0.2


[STEP3]小数の変換
 STEP2で取り出した小数(10進法)に0.6を掛けることで60進法に変換できます。
■計算式
 =0.2×0.6 → 0.12


[STEP4]計算式のまとめ
 STEP1~STEP3をまとめると以下の通りになります。
■計算式
 =TRUNC(15.2,0)+MOD(15.2,1)×0.6 → 15.12


【まとめ】
 置換を行えば確かに同様の結果が得られますが、関数を利用することで自動的にかつ置換漏れなく変換が可能となります。効率化とミス防止策のための利用価値が高いといえるでしょう。



関連blog記事
2007年2月1日「給与計算で便利なEXCEL TIPS集「データを見やすくする書式設定」」
https://roumu.com
/archives/50870918.html

2007年1月17日「給与計算で便利なEXCEL TIPS集「給与計算ソフトのデータをEXCELで活用」」
https://roumu.com
/archives/50861102.html

2006年12月15日「給与計算で便利なEXCEL TIPS集「時間集計をうまく表示したい!」」
https://roumu.com
/archives/50823849.html

2006年12月9日「給与計算で便利なEXCEL TIPS集「15分単位で集計をしたい!」 」
https://roumu.com
/archives/50820650.html

2006年11月10日「給与計算で便利なEXCEL TIPS集「効率的にデータ入力したい」」
https://roumu.com
/archives/50788304.html

2006年10月30日「給与計算で便利なEXCEL TIPS集「入社年月日より勤続年数を求めたい」」
https://roumu.com
/archives/50778155.html

2006年10月19日「給与計算で便利なEXCEL TIPS集「テンキーで時間入力したい!」」
https://roumu.com
/archives/50763522.html

カテゴリー「EXCEL TIPS集」
https://roumu.com
/archives/cat_50010963.html


(宮武貴美)


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