- ベストアンサー
エクセルにて入力内容とは異なる表示
エクセルのセルへの入力を例えば「1」を入力すると 表示は「男性」、「2」と入力すると「女性」と表示させることはできるのでしょうか? 宜しくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
書式 セル ユーザー定義 [=1]"男";[=2]"女";
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
>3つ以上のケースがある場合は、動かないようですが、そういう仕組みになっているのでしょうか そうです。あくまで既回答も傍流の機能で、エクセルの解説書でも解説の無い本も多い。 ーー VBAでやればできることはできる。 表示でなく値そのものを変えてしまうので、上記と厳密に言うと違うが(注)。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then a = Array(1, "東京", 2, "大阪", 3, "名古屋", 4, "福岡", 5, "札幌") For i = 0 To UBound(a) Step 2 If Target = a(i) Then Target = a(i + 1) Next End If End Sub Sheet1のシートのイベントモジュールとして張り付け。 A列で1と入れると「東京」の値が入る VBAのイベントを理解してからのことだが。 ーー (注)書式だけにするには Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then a = Array(1, "東京", 2, "大阪", 3, "名古屋", 4, "福岡", 5, "札幌") For i = 0 To UBound(a) Step 2 If Target = a(i) Then Target.NumberFormatLocal = a(i + 1) Next End If End Sub
お礼
imogasiさん、ありがとうございます。 参考にさせていただきます。
- assault852
- ベストアンサー率48% (1364/2797)
また回答1の者です。 失礼します。 調べてみました。条件付書式というものだそうで、最大で3パターンまでになるようです。 例:[=1]"父";[=2]"母";"子"
お礼
assault852さん、ありがとうございます。 勉強になりました。
- assault852
- ベストアンサー率48% (1364/2797)
回答4の回答に感服しました。 まったく知りませんでした。 いや、お恥ずかしい限りです。
- zap35
- ベストアンサー率44% (1383/3079)
入力するセルと、表示するセルは一緒ですか? もしそうなら「正の数/負の数」の入力でよければ「男性/女性」と表示が可能です。 セルの書式を「ユーザー定義」→「男性;女性」にしてみてください。 でも入力する値が「1」と「2」であれば、入力したセルの表示を「セルの書式」で「男性」、「女性」に変更することはできません。 別のセルに表示してよいなら、A1セルに値を入力して =IF(A1=1,"男性","女性") という式を他のセルに入力すれば可能です。 どうしても「1か2を入力したセルの表示を変えたい」ということであればマクロが必要になります。でもマクロで実現した場合は入力した値を「男性」「女性」に置き換えてしまいますので、元の入力した値は亡くなりますよ
お礼
zap35さん、ありがとうございます。 理解のヒントになりました。
- assault852
- ベストアンサー率48% (1364/2797)
入力したセルにはできないですよね。他のセルなら簡単です。 どうしても入力したセルにしたいのなら、VBA(マクロ)を組むしかないでしょう。
補足
sige1701さん、ありがとうございます。 ひとつ質問があります。 3つ以上のケースがある場合は、動かないようですが、そういう仕組みになっているのでしょうか? 例えば、 [=1]"男大";[=2]"女大";[=3]"男児";[=4]"女児"; 宜しくお願い申し上げます。