• 締切済み

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時間などとするのではなく、あくまでも表示形式で 設定したいのですが、どのようにすればいいのでしょうか。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

表示設定では無理 マクロならできるけど シートモジュールに次をコピーして 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)
回答No.4

いつも時間帯が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)
回答No.3

◆「簡単に入力できて、見やすいように」というご希望の様ですが ◆「10/2 12:00-14:00」と入力して、表示形式で「10/2(金)12:00-14:00 連絡」と表示させるのは無理ではないかと思います ◆「簡単に入力できて、見やすいように」させる方法の一つに 1)簡単に入力できる「入力シート」から入力して、 2)その入力シートのデータから、データを見やすくした「出力シート」(見やすいシート)を作成するように、シートをわけてはいかがでしょう

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

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)
回答No.1

1つのセルで時間“帯”は無理じゃないかなぁ。 開始日時と終了時間で別にセルを持つのは無理なのですか? カーソル移動が面倒、とかはやめてくださいね。

専門家に質問してみよう