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"
形式として使用すると、要求どおりに表示されます。