• ベストアンサー

セルに特定の語句を呼び出す。

数字を入れたセルと同じセルに、あらかじめ作成したリストの文字を呼び出す方法はないでしょうか? 例えば、あらかじめsheet2に 1おにぎり 2弁当 3惣菜 と決めておき、仮に呼び出すセルがsheet1のA1セルとしますと、 A1に「1」を入れると「おにぎり」、「2」を入れると「弁当」 という具合に言葉が出てくるような方法は無いものでしょうか? 数字を入れるセルと呼び出すセルが同じというのは無理でしょうか? どうか、ご教授をお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

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を記入する。

yamagou
質問者

お礼

早速のご教授ありがとうございます。 色々と方法は有るものなのですね。 恐れ入りました ><; すべての方法を試してみます。

その他の回答 (1)

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

例えばA1セルに1を入力するとおにぎり、2と入力すれば弁当というようにするのはマクロなどを使えば容易ですが、そではなくA1セルをクリックしたときにおにぎり、弁当、惣菜などの文字が表示されその中から望みのものを選択すればその文字を表示させることができます。 パソコンには「入力規則」の機能があります。例えばA1セルからA10セルでそれができるようにするためには次のようにすればよいでしょう。初めにシート2のA1セルは空白にしてA2セルから下方に例えばA10セルまでにおにぎり、弁当、などの文字を入力します。その後にA1セルからA10セルを選択してから「数式」タブの「名前の定義」を選択します。 表示の画面で名前の窓には例えば 品名 とでも入力してOKします。 その後にシート1に戻ってA1セルからA10セルを選択します。 「データ」タブの「入力規則」から「データの入力規則」を選択します。 入力値の種類では「リスト」を選択し、元の値の窓には  =品名  と入力してOKします。 これで設定の操作は終了です。 A1セルを選択すれば▼印が表示されますのでそれをクリックすることでシート2のA1セルからA10セルまでの文字が表示されますのでそれから選択すればよいでしょう。

yamagou
質問者

お礼

またまた、違った発想のお答えありがとうございます。 早速、試してみます。 ありがとうございました。

関連するQ&A

  • Excel2010でセルに画像を呼び出す

    Excel2010にシート1とシート2があります。 記入・印刷用シートはシート2とします。 シート1のA1セルに50pixel×50pixelの画像(png)を置きます。 シート2のA1セルに何か数字や文字が書かれた時に、 [マクロを使わずに] シート2のB1セルに、シート1のA1セルにある画像を表示させるにはどうしたらいいですか? 上記ができない場合、シート2のB1セルにドロップダウンリストを作成して、 シート1のA1セルの画像を呼び出すことは可能ですか? ------------------------ Windows7 64bit Excel2010 64bit ------------------------

  • ユーザーフォームとセル書式設定について

    WINXP EXECEL2003です。 また質問させていいただきます。 まず1つめの質問です。 前回の質問(締め切ったのですが)の、続編になるのですが、ユーザーフォームのリストについて、 リストをクッリクしない場合はINDEXが-1になるとの判断から、クリックしていない時には、INDEXに0をいれて、1行目を選択するというふうにコードを書き、EXCEL2010にて、テストすると、なんの問題もなく 実行するのですが、EXCEL2003では、”実行時エラー9 インデックスが有効範囲にありません。” となりとまります。 2003と2010で違うのでしょうか? 次にセルの書式についてなのですが、 仮に”A”というシートの30列目に”1-1”と値がはいっており、これを同ブック内の”B”というシートのあるセルに取り入れるコードなのですが、 Sheet("A").Cells(1,1).NumberFormat="@" Sheet("A").Cells(1,1) = Sheet("B").Cells(X,30) とすると”A”のしーとには45633と数字が入ってしまい、文字化けしてしまうのですが、文字化けせずに持ってくる方法は、ありますでしょうか? よろしくお願いいたします。 足りないことがあれば、補足いたします。

  • 特定の文字を含むセル周辺を別のシートに表示させたい

    お世話になります。 Excel2002で次のことをやろうとしているのですが、良い方法が見つかりません。 特定の文字を含むセルと、その周辺の一部のセルを別のシートに表示させたい。 どのようにしたら良いかお教えください。 [元]のシートの"A1:E112"のセルに文字や日付、数値など色々入っています。 その中に"目的の文字"という文字を含んだ文字列が入っているセルがあります。 そのセルには、"目的の文字"の後ろに":変化する日付"が入っています。 つまり、次のようになっています。 "目的の文字:2015年10月23日"(日付は変化します) そして、このセルの位置はそのときによって"A15:C112"のセルの中で変化します。 このセルを含む周辺の一部のセルだけを[抽出]のシートに表示させたいのです。 表示させたいセル範囲は、"目的の文字"を含むセルの2行上から2列右までで、3行3列計9個のセルです。 画像の例では[元]のシートの"A35:C37"です。 可能であれば関数だけで解決したいのですが、そのような方法はあるでしょうか? 無理でしたらマクロで実行する方法はあるでしょうか。 よろしくお願いします。

  • 【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

    社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;) 分かりにくい質問で恐縮ですが、よろしくお願いします。 現在Excel2003を使っています。 「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。 (できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています) ↓ 例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。 (このとき、A1に入力が無ければB1も空白のままにしておきたいのです) 手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

  • エクセルマクロ VBAで順次下セルからコピペする方法

    VBA初心者です。教えてください。 同一bookに"sheet1"と"sheet2"があります。 "sheet1"セルA1のデータ(数字or文字)をコピーして"sheet2"セルA1にペースト。 次に "sheet1"セルA2のデータ(数字or文字)をコピーして"sheet2"セルA2にペースト。 "sheet1"セルA3のデータ(数字or文字)をコピーして"sheet2"セルA3にペースト。 ↓ セルAxにデータがあれば、繰り返し。 ↓ "sheet1"セルAxが空欄になったら終了。 このような処理は、どう記述したらよいのでしょうか? お願いします。教えてください^^;

  • Excelで「一つのセル」をいじられたくないのですが・・・

     エクセルについての質問です。  一つ(例えばA1)のセルに入力した関数を知らない間に  (1)消してしまったり、  (2)上書きで他の数字や文字を入力してしまったり、  ということがあります。  シートを保護するように、一つのセルだけを保護する方法はないのでしょうか?  お教えください。よろしくお願いいたします。

  • 複数のセルの文字を違うシートの一つのセルに表示するには

    複数のセル たとえばA1:B8にそれぞれ文字が入っているとします それを別のシートの C5にまとめて表示させたいのですが 何か方法がありますか? 複数のセルに入っているのは数字ではなく文字で それをそのまま まとめて表示させたいのです 関数でできるのかと調べてみたのですが エクセルは初心者なものでいまいちわからなくて・・・

  • エクセル 大量のセルのリンク方法について

    初めて質問させて頂きます。 よろしくお願いいたします。 シート1にA1セルからA10セルまで 任意の値が入ってると仮定します。 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 シート2に以下の様にシート1のA1~A10の値がリンクできる様に 碁盤の目の様にコピーする簡単な方法はないのでしょうか? A1  A2  A3 A4  A5  A6 A7  A8  A9 A10 A11 A12 縦と横を入れ替える方法なら 形式を選択して貼付→行列を入れ替えるをチェックする →OKをクリックでできますが・・・ なぜ、この様な事を聞くのかというと 当方、仕事で縦に並んでいる店番号リストのシートを 別シートに碁盤の目の様に並べてリンクする必要があるためです。 店番号数が10や20程度なら、ちまちま修正しても たいした問題ではありませんが・・・ 問題は店番号が3,000以上あるので修正作業が、かなり大変なんです・・・ いつもいつも決まった列数ではないためマクロを組んでも役に立たないです。 あと店番号はお行儀良く数字が揃っていなく、ランダムで飛び番があるので A1+1と言った計算式は無理ですね・・・ 今の所、全てのシートに=Aと計算式を入力してから Aの後に任意の数字(セル番号)を入れる様にしています。 (数字が入った状態だと数字を消す手間が増ますので。) 修正作業が終わったあと正しく入力されているか 目視で確認していますがセル数が多いので大変です。 どなたかより短時間でできる方法があれば是非とも教授願います。

  • Excel;特定の文字を含むセルを書き出す方法

    お世話になります。 あるExcelシートの2列×300行ぐらいの範囲のセル内に 文字が入っています。 セル内(例A23idokensi)に特定の文字(例:A23)を含んでいたら、 もしくはセルを抜き出す方法はあるでしょうか? やりたいことは、アトランダムに入力されているところから、 特定の文字を含んだセルだけ取り出して内容とセルの個数を 数えることです。

  • セルの内容と同じ内容を検索する

    セルの内容と同じ内容を検索する EXCEL2003です。 SHEET1のA列セルをクリックし、参照先の文字が同じであれば、順々にジャンプする様なマクロを教えていただきたく。 現状の構成は次の通り。 LISTシートにリスト、SHEET1はそのリストを参照して文字列を表示させる構成になっています。 SHEET1のD列とLISTシートのI列に参照させるキー(IN_000の様なアドレス)があります。 LISTシートの分散したA列セルに同じ文字列が登録されています。 下記が、サンプルイメージです。 SHEET1 A1                            D1     =INDEX(LIST!A:A,MATCH(D1,LIST!I:I,0))   IN_000 LIST A1                         D1     特殊                        IN_000 A30 特殊                        IN_030 A200 特殊                        IN_200  つまりSHEET1のA1,A30,A200は表示上、特殊と表示されています。 分散して表示されるので、A1をクリックしたらA30、A30をクリックしたらA200、A200をクリックしたらA1に戻るという検索動作をさせたいのです。 尚、A列には空白行も存在します。最終行まで検索しA1に戻るというジャンプをしたいです。 SHEET1のA列には参照式(=INDEX(LIST!A:A,MATCH(D1,LIST!I:I,0))という参照式が入っていますが、 参照先(LISTシートのAセル内容)が空欄であれば、SHEET1のAセルをクリックしても、そのセルのまま動かないという動作も併せてお願いしたく。 クリックしてジャンプ検索するのは、A列限定です。 他のセルには同じ文字列が多数存在し、クリックしたり入力もあります。 ※マクロに関して、初心者なのでベタの回答でお願いできますでしょうか

専門家に質問してみよう