Excelで時間風なテキストデータを10進表示時間数に変換したい
いまA列に、WebやOCRで取り込んだ、時刻データでない一見時間風なテキスト文字列があります。
これをB列に表示のように10進数の時間数値に変換する1個の数式を考えていますが、私の知恵ではすごく長い式になります。
これを最短の数式で現すベスト(又はベター)な方法をお尋ねします。
私が考えたプロセスは、まずB列に設けた時間の9や10を取り出す式(LEFT,FIND等)を皮切りに、順次右の列に分の15や6を取り出す式(MID,FIND)、6に0を加えて「06」とする式、分に10/6を乗じ、四捨五入して小数の時間に変える式、整数と小数の各時間を加算する式などを設け、最終的にその右列に答えを出す。あるいは、これらの式を必要か所に代入して1個の式にまとめる、などやってみましたが、どうしても長蛇の列になってしまいます。
別の方法ではSUBSTITUTE関数を使って「9時間15分」を「9.15」に置き換えて数値化し、その上で10進数に置き換えることも試みましたが、SUBSTITUTEのネスト、分の部分の6を06に変える式、10/6を乗じて四捨五入する式などもあり、これも結構長たらしくなります。
また、データ→区切り位置で分割するのも、例示の場合のように縦に整列されていないと結構面倒です。
このほか小数点一桁と二桁の混在表示という表示形式の問題もあります。
Excelでテキスト、日時、数値各データを相互に変換するのに結構面倒な場合が多いので、サンプルを例題として、表示形式の設定と併せ、関数のみの最短の数式で現す方法について、Excelご精通の方のお知恵を拝借したいと存じます。よろしくお願いします。
A列(テキスト) B列(10進数値の時間)
5時間45分 9.75 ←(5.75時間)
10時間6分 10.1
7時間07分 7.12
お礼
ありがとうございました。 助かりました!! 多謝