- ベストアンサー
エクセルで「1」を入力すると「あ」表示できますか?
ご質問させて頂きます。エクセルでセルに例えば「12345」と入力すると「あいうえお」のように表示させることは可能でしょうか?つまり「1342」でしたらそのセルに表示されるのは「あうえい」となるようにです。もしもできるとしたら、その方法を教えて頂けませんか?宜しくお願致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> つまり「1342」でしたらそのセルに表示されるのは「あうえい」となる・・・・ ご要望のようなことはVBAで簡単に実現できると思います。 以下の手順をお試し下さい。 1.該当シートのタブを右クリックし、「コードの表示」を選択。 2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。 '*****この下をコピペ***** Private Sub Worksheet_Change(ByVal Target As Range) s = Target.Value e = Len(s) For i = 1 To e On Error Resume Next x = Choose(Mid(s, i, 1), "あ", "い", "う", "え", "お") y = y & x On Error GoTo 0 Next Application.EnableEvents = False Target.Value = y Application.EnableEvents = True End Sub '*****ここより上をコピペ***** 3.AltキーとF11キーを同時に押してワークシートへもどります。 1342と入力してみてください。
その他の回答 (5)
- Cupper
- ベストアンサー率32% (2123/6444)
「12345」と入力されたものを「あいうえお」と表示させることは標準ではできません。 VBAで文字列の変換を行うプログラムを作成する必要があります。 他のセルに表示させるのであれば関数でも可能ですが文字数が多くなると煩雑になりお薦めできません。
- imogasi
- ベストアンサー率27% (4737/17069)
12345の文字数が5文字以内とかなら、関数でできますが、それ以上だと式が長くなって、そんなの回答に上げたくない。 文字数が変動する型のものは、VBAでやるべき型の課題です。 31234 う あ い う え うあいうえ 342 う え い うえい 4213 え い あ う えいあう B1は =IF(COLUMN()-1>LEN($A1),"",INDEX({"あ","い","う","え","お"},MID($A1,COLUMN()-1,1))) と入れてF1まで式を複写 B1:f1の式をB3:F3に式を複写 結果 上記 G1は=B1&C1&D1&E1&F1 G3まで式を複写。 結果 上記
- maron--5
- ベストアンサー率36% (321/877)
◆補助列ありの関数による方法です A B C D E F G H 1 1234 あいうえ あ い う え 2 1342 あうえい あ う え い C1=CHOOSE(MID($A1,COLUMN(A1),1),"あ","い","う","え","お",) または、 C1=MID("あいうえお",MID($A1,COLUMN(A1),1),1) ★右と下にコピー B1=C1&D1&E1&F1&G1&H1 ★下にコピー
IME辞書ツールに登録したらどうでしょう 例 読み 語句 1 あ 2 い 3 う という風にしたらどうでしょう ほかに簡単に出来る方法があるか?
- maggoteating
- ベストアンサー率34% (74/215)
1 で あ、 2 で い を表示するには 書式 → セル → 表示形式 → ユーザー定義 → 種類の所に [=1]"あ";[=2]"い";G/標準 と入力して OK この方法は、2個までしか選択表示できませんので、 3個以上から選択する場合は、 リスト で選択する方が便利です。
お礼
「VBA」などとお初の言葉が出てきました。簡単に考えていたんですが、やっぱり大変なんですねご回答頂きましてありがとうございました。