- 締切済み
Excel2007の表示形式について
Excel2007のセルの表示形式を m/d(aaa)h:mm "連絡" と設定し、例えば10/2 12:00と入力すると 10/2(金)12:00 連絡 となるようにしたのですが、これを任意の時間帯、 例えば、10/2 12:00-14:00 と入力すると、10/2(金)12:00-14:00 連絡 と表示させたいのですが、うまくいきません。 入力する時間は常にバラバラですので、 数式で+2時間などとするのではなく、あくまでも表示形式で 設定したいのですが、どのようにすればいいのでしょうか。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- hige_082
- ベストアンサー率50% (379/747)
表示設定では無理 マクロならできるけど シートモジュールに次をコピーして Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("a:a")) Is Nothing Then Exit Sub Application.EnableEvents = False Target.Value = Format(DateValue(Year(Date) & "/" & Mid(Target.Value, 1, InStr(Target.Value, " ") - 1)), "m/d(aaa)") & " " & Mid(Target.Value, InStr(Target.Value, " ") + 1, Len(Target.Value) - InStr(Target.Value, " ")) & " 連絡" Application.EnableEvents = True End Sub A列に10/2 12:00-14:00と入力すれば 10/2(金)12:00-14:00 連絡と変換されます ただし、エラー処理をしないと、とても実用は出来無いと思います 表示形式が希望のようなので、こんな方法もあるんだ程度で
- imogasi
- ベストアンサー率27% (4737/17069)
いつも時間帯が2時間であるとしても、 データ(14:00)も無いのに、書式で演算した(12:00に2時間加算した)結果を出すのは出来ない。エクセルの表示形式の基礎的制約だよ。 いつも-14:00 を添えて出すのは可能だが、それでは各行で可変の場合は使えない。 関数でA1に11:00 B1に =TEXT(A1,"hh:mm")&"-"&TEXT(A1+"2:00","hh:mm") と入れれば 11:00-13:00 となる(文字列) 13:00では 13:00-15:00 判るように表示形式の問題ではない。 >あくまでも表示形式で設定したいのですが エクセルの十分な知識も無く、無理を書いてもダメ。 VBAの経験は無いだろうが、それを使えば、似たような「らしき」(そのセルで表示する)ことは可能。しかし書式でやるのではない。
- maron--5
- ベストアンサー率36% (321/877)
◆「簡単に入力できて、見やすいように」というご希望の様ですが ◆「10/2 12:00-14:00」と入力して、表示形式で「10/2(金)12:00-14:00 連絡」と表示させるのは無理ではないかと思います ◆「簡単に入力できて、見やすいように」させる方法の一つに 1)簡単に入力できる「入力シート」から入力して、 2)その入力シートのデータから、データを見やすくした「出力シート」(見やすいシート)を作成するように、シートをわけてはいかがでしょう
- KURUMITO
- ベストアンサー率42% (1835/4283)
10/2 12:00はシリアル値としての数値になっています。この数値の入力を表示形式を使って10/2(金)12:00 連絡のように表示させることはできますが10/2 12:00-14:00と入力した場合にはシリアル値として評価できません。単なる文字列となります。その場合には10/2(金)12:00-14:00 連絡のようにすることはできません。 単に10/2 12:00-14:00 連絡というように曜日を入れない形であれば表示形式をユーザー定義で @"連絡" とすればできますが。
- tsubu_m
- ベストアンサー率29% (106/357)
1つのセルで時間“帯”は無理じゃないかなぁ。 開始日時と終了時間で別にセルを持つのは無理なのですか? カーソル移動が面倒、とかはやめてくださいね。