Excelでリストを選んで表示する方法

このQ&Aのポイント
  • ExcelでA行に各状況、B行にその内容を記入した表を作成しています。選んだ状況に応じて隣りのセルにリストを表示する方法を知りたいです。
  • VLOOKUPでは最初の1行目しか表示されません。他の方法で任意のリストを表示できるようにできないでしょうか?
  • 状況をリストから選ぶと、隣りのセルにその状況に紐づく内容のリストが表示される方法を教えてください。
回答を見る
  • ベストアンサー

Excelの入力について

エクセルで、A行に各状況、B行にその内容を記入してある下記のような表を作成しました。 別のシートのセルに、各状況をリストで選んで、その内容を隣りのセルにリストで表示できるような関数はありますか。 例えば、リストから「い状況」を選ぶと、となりのセルには、「あああああ」「いいいいい」「ううううう」のみのリストが表示され、選べるようにしたいのです。 「ろ状況」であれば、「えええええ」・・・のみリストが表示されるような VLOOKUPだと、最初の1行目しか表示されなくて困っています。 なにか方法はが有れば、教えていただけませんか? 列や、行に番号を入力してもかまいません。 い状況 あああああ い状況 いいいいい い状況 ううううう ろ状況 えええええ ろ状況 おおおおお ろ状況 かかかかか は状況 ききききき は状況 くくくくく は状況 けけけけけ

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! A列もリスト表示したほうが良いわけですよね? 一例です。 ↓の画像で右側がSheet2です。 Sheet2に表を作成しておきます。 (作成方法は一例です) Sheet2のA1~C1セルを範囲指定 → 名前ボックス(画面左上のセル番地が表示されているところ)に 仮に 範囲 としてOK (名前はどんな名前にしても構いません。数値・アルファベットは頭に使わない方が無難です。) これでSheet2のA1~C1セルが 範囲 と名前定義されました。 同様にSheet2のA2~A4セルを範囲指定 → 名前ボックスに い状況 としてOK B2~B4 → ろ状況 ・C2~C4 → は状況 とそれぞれ名前定義しておきます。 Sheet1のA列を範囲指定 → データ → 入力規則 → リスト → 数式欄に =範囲 としてOK これでA列は い・ろ・は状況 が選択出来ます。 B2セル以降を範囲指定 → ・・・上記と同様・・・ → 入力規則の数式欄に =INDIRECT(A2) としてOK これでA列で選択したものだけがB列のリスト候補になります。 ※ 名前定義するときに、空白セルを一つ入れておいた方が良いかもしれません。 (空白も表示できるように・・・) こんな感じをお望みだったのでしょうか? 外していたらごめんなさいね。m(__)m

xxxru-kaxxx
質問者

お礼

画像まで!ありがとうございます! 最初の方とあわせて、わかりました!!!

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

まず、あああああ いいいいい ううううう のみのリストをどこかに作って、そのリストのセルを全部選んで、右クリックで「範囲に名前を付ける」で、「い状況」という名前を付けます。 同じように、えええええ おおおおお かかかかか のセルを全部に、「ろ状況」という名前を付けます。 同じように、ききききき くくくくく けけけけけ のセルを全部に、「は状況」という名前を付けます。 次に、A1セルに、リストから い状況 ろ状況 は状況 が選べるように、リスト入力を設定します。 (A1セルを選んで、データ入力の規則で、リスト入力を設定し、元の値の欄に、い状況,ろ状況,は状況 と記入するということです) 次に、B1セルにも、リスト入力を設定し、元の値の欄に、=INDIRECT(A1) と記入してみて下さい。

xxxru-kaxxx
質問者

お礼

ありがとうございます!!!出来ました!

関連するQ&A

  • excelの操作について

    まず、A列に時刻の「時」として9~21まで、B列に時刻の「分」として0~59まで、そしてD列に「項目」として商品が入力規則のリストとして設定されています。 C列に =time(a2,b2) を設定して時刻を表示させるようにしています。(1行目は項目行となっています) ですので「表1」は時刻順となっています。 表1は40行まで作られており、状況によって何行入力されるは未定となっています。 この表を「表1」とします このようにしているのは入力担当にキーボード操作をさせない意図があります。 ここからがご質問の中身になります。 表1の隣に、表1にデータが入力されると瞬時に実績の高い順に並び替えて表示させる、「表2」を作成しようとしています。 rank関数、count関数、vlookupなどを組合すなど試行錯誤しているのですが、表2に「0値」が入ってしまったりし、どうもうまくいきません。 何か良い方法をご存知の方、お教えいただけますでしょうか?

  • キーワードを入力すると、ExcelのVLOOKUP

    キーワードを入力すると、ExcelのVLOOKUP関数のように、表の中の一番左側の列からキーワードと同じ値のセルを探して、その行にある別のセルの文字列を、ある特定の場所に自動入力させることはできますか?

  • エクセル関数で検索能力がある関数を教えてください。

    「シート1」と「シート2」があります。 「シート1」には   1      2 A 通信費  課税仕入 B 借入金  対象外 C 支払利息 非課税仕入 のような表があります。 「シート2」には   1     2 A 通信費 B 交際費 となっていたとします。 この場合、「シート2」のセルA2に、 VLOOKUP関数で「シート1」を参照し、「課税仕入」を表示させることはできるのですが、 「シート2」のセルB2にセルA2の関数をコピーした場合、 「シート2」のセルB1にセルに表示されている「交際費」は「シート1」の表には登録していないため、セルB2にはエラー値が表示されてしまいます。 「シート1」の表に「交際費」を登録すればいいのですが、 自己都合上、「シート2」のセルB2に、 「シート2」セルB1の項目が「シート1」の「1列目」にあれば、「2列目」の項目を表示する。 「シート1」の「1列目」に該当する項目が無ければ、「シート2」のセルB2には「対象外」と表示するようにしたいのです。 言い換えますと、「シート2」の通信費は「シート1」にあるのでVLOOKUP関数で課税仕入を導くことが出来ます。 しかし、「シート2」の交際費は「シート1」に無いため、VLOOKUP関数をしようできません。 「シート1」に無い項目の場合には、「シート2」に「対象外」と表示されるような関数の式が知りたいです。 わかりにくい文章になってしまいましたが、よろしくお願いします。

  • エクセルのセル入力規則項目に連動してヘッダーの表示を切替えるには?

     エクセルワークシートにおいて、今、INDIRECT関数とVLOOKUP関数を用いて表の切替え表示させるものを作っていますが、各ワークシートに入力規則設定してあるセルの文字列を切り替えた表と同時にそのシートのヘッダーも同じ内容で表示させるにはどのようにすればよいのでしょうか?  5項目の入力規則が設定してある  必要に応じ、INDIRECT関数で表を切替える  入力規則が以下のようになっている   A:パソコン   B:プリンター   C:デジカメ   D:スキャナー   E:モニター  仮にAを選択するとVLOOKUP関数でデータが検索、表示されるのですが   このときに表示されたシートのヘッダーにパソコンならパソコンと、プリンターならプリンターと表示されるようにしたいのです。  どうすればよいのでしょうか?色んな方法があるとは思いますが、分からないのでどなたか教えてください。お願いします。

  • エクセル関数 ランキングを使って・・・

    みなさま宜しくお願い致します。 集計作業中に躓いてしまいました。 ランキング表を作成(Sheet1)しているのですが、別シート(Sheet2)に同数で同じ順位が数名います。 Sheet2はあくまで作業シートでその他の情報も含まれているので、Sheet1に表示用を作成しました。 A列に順位(作業列)、B列に実際の順位、C列に名前という風に表示させたいのですが、Vlookupを使用すると次点が抽出されません。Vlookupにそのほかの関数を加えるのかまたは別の関数があるのでしょうか。宜しくお願い致します。 【内容】 Sheet2: A列に1行目~10行目まで実際の順位(同数は同順位)B列に名前。 Sheet1: A列には1行目~10行目まで1~10の数字を(作業列とし、最終的には非表示にしようかと)。 B列には関数式:=SMALL(Sheet2!$A$1:$A$10,Sheet1!A1)を入力し、10行目までオートフィルすると、同数同順位の数値を表示します。 ここからです。 この順位に該当する人をSheet2からVlookupで引っ掛けようにも、次点以降の名前が出てきません。 何か良い方法はありますでしょうか? みなさまのお知恵をください。 宜しくお願い致します。

  • エクセル VLOOKUP関数?を使ってこのような事が出来るか知りたいです。

    Sheet1の2行目A~D列に 1 2 5 8と入っています。 Sheet2の   〃   に 3 2 5 9と入っています。 Sheet3の   〃   に 9 3 5 1と入っています。 Sheet4のA1にSheet1 と入力した際、B1~E1のセルに、Seet1に入っていた 1 2 5 8と表示させたいのですが、出来ますでしょうか? 私が思うにVLOOKUP関数?と思いますが、どんな式にしていいのかわかりません。 それか、他の関数の場合はどうすればいいのか?付け足さなくてはいけな出来ないものがあればそれも知りたいと思います。 宜しくお願いします。

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • Excel 入力規則から表の自動表示

    Excel2007で入力規則を使いリストを作成したのですが、その選んだ項目に合わせて自動的に同Sheet内に表を表示させたいんです。 文字ならIF関数とVLOOKUP関数を組み合わせたりINDIRECT関数を使ったりすれば可能かと思いますが、表の場合はどうしたらよいのでしょうか。画像化?VBA? できれば合わせて背景等の書式も参照させたいです。ちなみに入力規則のセルでは条件付きで設定しました。 ずっと格闘しています。教えてください!!

  • エクセルで、検索したセルの下の行を出したいときは?

    たとえば、一つのシートに数字が入った表があるとして(シート1)、 隣のシート(シート2)でA1のセルに数値が入るとシート1から 同じ数値を探し出す(作業しているのはB1)。 その探し出したセルの下の行にあるものを出したいのですが、 その方法がわかりません。関数の数式の中で、 ”+1行”とか、”+1列”というのは、 どういった入力をすればいいのでしょうか? ちょっと説明がうまくできないので、伝わりづらいと 思いますが、補足していきますので、よろしくお願いします。

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

専門家に質問してみよう