質問: 【Excel】入力セルでの表示変換 B3からB53の各々のセルについて、「1」と入力した場合は「第1部 9:00~10:00」、「2」と入力した場合は「第2部 12:00~13:00」、と入力したセルに表示させる方法を教えて下さい。 【例】B3セルに「1」と入力したら、B3セルに「第1部 9:00~10:00」と表示させる。 セルの書式設定、条件付き書式、関数、VBA等で、なるべく簡単な設定方法を希望します。
回答: それぞれの 意味をまず 理解してください。 書式設定 文字の色や セルの色 罫線、表示形式等を 指定するもので 値を変えるものでは ありません。 条件付き書式、 書式を 条件によって変わるもので これも 値を変えるものでは ありません。 関数で 値は 変えられますが 同じセルに 入力と関数を入れる事はできません。 どちらかをいれれば どちらかが 消えます。 マクロで あれば 同じセルに 値を変えることが できます。 これは 基本として 理解してください。 さて 質問の件ですが 表示させる方法 ということなら 値を 変えなくてよいということなら 表示形式を [=1]"第1部 9:00~10:00";[=2]"第2部 12:00~13:00" とすれば 1を いれれば 第1部 9:00~10:00 2を いれれば 第2部 12:00~13:00 と 表示してくれます これで 質問は 満足すると 思いますが できるのは この2つのみです [=3] と することは できません 二つの条件までしか 指定できません。 そして セルに入っている値は 1,2の ままです。 マクロで するなら シートモジュールで Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If Target.Value = 1 Then Cells(1, "A") = "第1部 9:00~10:00" ElseIf Target.Value = 2 Then Cells(1, "A") = "第2部 12:00~13:00" End If End If End Sub これで A1 セルに 1を いれれば 第1部 9:00~10:00 2を いれれば 第2部 12:00~13:00 と 表示してくれます 値も 1を いれれば 第1部 9:00~10:00 2を いれれば 第2部 12:00~13:00 という 値になります。 幾つでも 追加できます。 入れる値は ここに書かなくて どこかのセルにいれておき その値を 入れる事も できます。