- ベストアンサー
セルに特定の語句を呼び出す。
数字を入れたセルと同じセルに、あらかじめ作成したリストの文字を呼び出す方法はないでしょうか? 例えば、あらかじめsheet2に 1おにぎり 2弁当 3惣菜 と決めておき、仮に呼び出すセルがsheet1のA1セルとしますと、 A1に「1」を入れると「おにぎり」、「2」を入れると「弁当」 という具合に言葉が出てくるような方法は無いものでしょうか? 数字を入れるセルと呼び出すセルが同じというのは無理でしょうか? どうか、ご教授をお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1と2とそれ以外の数字,の3パターンぐらいまでなら,エクセルの一般機能だけでもできます。 参考: セルの書式設定の表示形式のユーザー定義で [=1]"おにぎり";[=2]"弁当";"総菜" と設定しておく 1や2や3を記入する #これ以上沢山のことは出来ません。 それ以上複雑なことをしたいなら, 1.推奨 「同じセルに表す」みたいなのをすっぱり諦めて,ごくふつーのVLOOKUP関数などを使い A列に1,2,3…を記入すると隣のB列に該当する言葉を関数で表示する B2: =IF(A2="","",VLOOKUP(A2,Sheet2!A:B,2,FALSE)) のように,あたりまえのエクセルの使い方で行います。 2.推奨しません 何が何でも「同じセルでどうかしたい」のでしたら,マクロを使います。 手順: シート2のA列に番号 シート2のB列に該当する「弁当」や「おにぎり」を記入して準備する シート1を開く シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range) dim h as range set target = application.intersect(target, range("A:A")) on error resume next for each h in target if h <> "" then application.enableevents = false h = application.vlookup(h.value, worksheets("Sheet2").range("A:B"), 2, false) application.enableevents = true end if next end sub ファイルメニューから終了してエクセルに戻る A列に1や2や3を記入する。
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばA1セルに1を入力するとおにぎり、2と入力すれば弁当というようにするのはマクロなどを使えば容易ですが、そではなくA1セルをクリックしたときにおにぎり、弁当、惣菜などの文字が表示されその中から望みのものを選択すればその文字を表示させることができます。 パソコンには「入力規則」の機能があります。例えばA1セルからA10セルでそれができるようにするためには次のようにすればよいでしょう。初めにシート2のA1セルは空白にしてA2セルから下方に例えばA10セルまでにおにぎり、弁当、などの文字を入力します。その後にA1セルからA10セルを選択してから「数式」タブの「名前の定義」を選択します。 表示の画面で名前の窓には例えば 品名 とでも入力してOKします。 その後にシート1に戻ってA1セルからA10セルを選択します。 「データ」タブの「入力規則」から「データの入力規則」を選択します。 入力値の種類では「リスト」を選択し、元の値の窓には =品名 と入力してOKします。 これで設定の操作は終了です。 A1セルを選択すれば▼印が表示されますのでそれをクリックすることでシート2のA1セルからA10セルまでの文字が表示されますのでそれから選択すればよいでしょう。
お礼
またまた、違った発想のお答えありがとうございます。 早速、試してみます。 ありがとうございました。
お礼
早速のご教授ありがとうございます。 色々と方法は有るものなのですね。 恐れ入りました ><; すべての方法を試してみます。