質問: エクセル2010についてご質問があります。 例ですが 01:46.3 という数列があるとします。 この数字の並びを 1.46.3 という数列に変換したいのですができません。 「01:46.3」という数字はWEB上からコピペした数列なのですが、どうしても「1.46.3」という風に変換できずに困っています。 コピペするとき値で張付けや、セルの書式設定を変更してもどうもうまくいきませんでした。 添付画像の、B5セルの「0.00123......」という値は、値で張付けを行ったときに貼付けされた数字の羅列です。 WEBからコピペしたときのセルの書式設定は「ユーザー定義」で、「mm:ss.0」という風になっていました。 そして最終的には関数を用いて「1」、「46」、「3」という風にセルを分けたいと考えているのですが、できませんでした。 画像を一枚添付します。 申し訳ございませんが、知恵をお借りできればと思います。 よろしくお願いいたします。
回答: 1分46.3秒ですね。元は文字列だったかもしれませんが、Excelはこういうのを見ると勝手にシリアル値に変換してしまいます。コロンは表示形式が見せてるもので値にはありません。 で、現状では1日で1になるシリアル値ですから、1分単位の数値に変換するには24*60の1440を掛け算します。秒以下は小数になるのでrounddown関数やtrunc関数やint関数で切り捨てます。 秒は同様に24*60*60の86400を掛け算しますが、60の倍数部分は分ですから、mod関数で60で割り算したあまりを出します。整数部分と小数部分を分けるのは分のときと同様です。 ただ、46.3秒の小数部分を3をすると、45.69秒のときはどうするんですかね。6.9?