02:45:00 を 2Hrs 45Min に変換

02:45:00 を 2Hrs 45Min に変換

Excel のシートに、計算された「期間」フィールドが hh:mm:ss 形式で表示されています。

私が疑問に思っているのは、その値を別の列のテキスト文字列として変換/出力できるかどうかです。たとえば、02:45:00は2Hrs 45Minとして出力されます。

いろいろ見てみましたが、役に立つものは何も見つかりません。おそらく不可能でしょうか?

答え1

値がない場合に何が起こるかを指定していません。例では、秒がなく、秒数の間何も表示されません。または、投稿でそのことに触れていなかったので、両方に対する解決策を提供しました。

テキストを連結して使用する必要があります

=CONCATENATE(HOUR(A1),"HRS ",MINUTE(A1),"MINS ", SECOND(A1), "SECS")

ここに画像の説明を入力してください

そして、これは時間、分、秒が存在するかどうかをチェックし、存在する場合にのみ表示します(残念ながらかなり長い式です)

=CONCATENATE(IF(HOUR(A4) >0, CONCATENATE(HOUR(A4), "Hr "),""), IF(MINUTE(A4)>0, CONCATENATE( MINUTE(A4),"Min "),""), IF(SECOND(A4)>0,CONCATENATE(SECOND(A4), "Sec"),""))

ここに画像の説明を入力してください

答え2

HOUR関数とMINUTE関数を使用できます

=HOUR(A1)&"Hrs "&MINUTE(A1)&"Min"

A1 がテキストであっても解析されます。

答え3

最も良い選択肢は、Excel の時間と分の関数を使用し、連結関数を使用してそれらの個々の文字列を結合することです。

=CONCATENATE(HOUR(A8),"Hrs ", MINUTE(A8),"Min")

2Hrs 45Minあなたが投稿した例の出力は次のようになります。

セルを文字ごとに解析するのはあまりきれいではありません (ただし、MID 関数はあらゆるシナリオで使用できます)。

=CONCATENATE(MID(A1,1,2),"HRS ", MID(A1,4,2),"MIN")

02HRS 45MIN参照したセルに出力されます。

答え4

変換や計算を行わずに、列をこのようにフォーマットするように定義するだけです。

[hh]"Hrs "mm"Min"形式として使用すると、要求どおりに表示されます。

関連情報