- ベストアンサー
EXCEL表示形式
EXCELで教えていただきたいのですが、勤怠などを管理する際 セルに0815と入力すると08:15と表示させたいのですがどうすればよいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使うという方法もあります。 まず、入力するセルの書式を、 「セルの書式設定」で「文字列」を選択し OKをクリックします。 (1)ツール(T) -> マクロ(M) -> Visual Basic Editer(V) をクリック (2)VBAProject -> Microsoft Excel Objects -> Sheet1(Sheet1)をダブルクリック (3)エディタが表示されるので、そこに以下を貼り付けてみてください。 Sub T() Dim TA2Byte As String Dim TB2Byte As String TA2Byte = Left(Range("B3"), 2) 'セル指定箇所 TB2Byte = Right(Range("B3"), 2) 'セル指定箇所 Range("B3").Value = TA2Byte & ":" & TB2Byte 'セル指定箇所 End Sub (4)Microsoft Excel側のセル( B3 )に「0815」と入力してみてください。 (5)Microsoft Visual Basic側の 実行(R) -> Sub/ユーザーフォームの実行 F5 をクリック (6)Microsoft Excel側のセル( B3 )を見ると「08:15」になっていると思います。 他のセルでも使えるようにする場合、例えば( D5 )の場合、 セル( D5 )の書式設定を文字列にして、 上記コードの 'セル指定箇所 となっている3行をコピー&ペーストで増やし、 ( B3 )という値を、( D5 )にするなどの方法を使えばできると思います。 他にもやり方はありますが、それにはマクロを勉強する必要があると思います。
その他の回答 (3)
- sugar59
- ベストアンサー率33% (5/15)
対象となるセルを指定→ 右クリック→ 「セルの書式設定」を選択→ 表示形式タブの分類から「ユーザー定義」を選択→ 種類に表示されている形式をDeleteして「00":"00」と入力→ OKをクリック。 表示に関してはおそらくこれでお望み通りになるかと思いますが、 目的が勤怠管理のためならこの方法は全くおすすめできません。 imogasiさんなどの回答にもあるように計算をするのなら、 「日付時刻シリアル値」でないと応用がききません。 個人的には先に回答されたみなさんを参考にされた方が正しい選択だと思います。
お礼
勉強になりました ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
考え方をしっかりすること。 文字列(数字)-(関数の働き)->日付シリアル値、時刻シリアル値ーー(表示形式の設定。日付や時刻)-->時刻、日付 であって 1つの方法 ’0912(半角)の場合 =TIME(LEFT(A1,2),RIGHT(A1,2),0) ーー 文字列ーー(関数)-->文字列 などではない。 例外的に’1125(半角)で関数=(LEFT(A1,2)&":" & RIGHT(A1,2))*1 書式を時刻のものにする、などの手があるが ーー なぜなら、 そのあと時刻計算も控えていると思うので、日付時刻シリアル値に直すことを第1に考えるべきだ。
- tgook
- ベストアンサー率48% (96/198)
(1)入力したいセルをクリック (2)右クリックで「セルの書式設定(F)」をクリック (3)「表示形式」の「ユーザー定義」をクリック (4)「種類(T)」の下の入力欄に「mm:ss」と入力 (5)OK クリック後、セルに「0:08:15」と入力して、 ENTERキーを押してみてください
お礼
早速のご回答ありがとうございます。 質問の書き方が下手ですみません。 「:」を入力せずに0815だけで08:15とはならないのでしょうか?
お礼
勉強になりました ありがとうございました