• ベストアンサー

Excel2007 参照先のワークシートをリストから選択したい

いつもお世話になっております。早速ですが質問させてください。 すべて同一ブック内で、の前提です。また、VBAはなるべく使いたくありません。 ・Sheet1に従業員名簿があります。A列が氏名欄となっており、A列中のデータが入っている範囲の名前を「氏名」としています。 ・Sheet3以降は、1ワークシートに1名分の人事情報が入っています。 シート名は各従業員の氏名になっています。 (例:Sheet3:「山田太郎」、Sheet4:「田中一郎」・・・・) ・Sheet2のA1セルに、入力規則で「ドロップダウンリストから選択」を設定し、Sheet1の「氏名」をリストの範囲として設定しています。 やりたいこと: Sheet2のA1セルで、ドロップダウンリストから従業員名を選ぶと、 Sheet2のA2セルに、当該従業員毎のワークシートのセルB11の内容 (数値)が表示される。 たとえば、参照先が固定ならば =山田太郎!B11 で簡単に参照できるのですが、 これを =A1!B11 としても =T(A1)!B11 としても、希望の動作をしてくれません。 「値の更新:A1」というダイアログが出てきまして、どうやら参照先を 指定せよ、らしきことを言われてしまいます。 駄目元で、=TEXT(A1)!B11 とか =VALUE(A1)!B11なども試してみましたが うまいこといきません。 どなたか、(長くなっても良いのでなるべく数式で)解決方法を 教えていただけますと非常にありがたいです。 よろしく御願いいたします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法になります。 =INDIRECT(A1&"!B11")

osi_nari
質問者

お礼

ばっちり実現できました!ありがとうございます!

その他の回答 (1)

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

こんにちは! 参考になるかどうか分かりませんが・・・ 一例ですが、 Sheet2のB11セルを指定して名前ボックスに「山田太郎」と入力してOK A2セルに =INDIRECT(A1) としてみてください。 A1セルのドロップダウンリストから「山田太郎」さんを選択すれば B11セルが表示されると思います。 もし的外れの回答なら読み流してください。m(__)m

osi_nari
質問者

お礼

丁寧にありがとうございます! 質問では言葉足らずでしたが、参照したい数値は一種類ではなく 複数ありまして、ちょっと希望した動きとは違ってしまうようです。 イメージとしては、「山田太郎」のシートに本人の基本給、税額、扶養人数 などのデータがあり、それをSheet2上に作成した給与計算表の対応する欄に それぞれ落とし込む(名前を選択するだけで、毎月固定の数値は自動的に 参照される)というようなことがしたかったのです。 でも、画像までつけていただいて、時間を割いていただいて、 本当にありがとうございました。

関連するQ&A

  • EXCELの参照先ワークシートのセルにおける文字列への変換

    恐縮ですが、MS-EXCELの次の操作方法をご教示下さい。 同じブックの中であるワークシートAの特定のセルaの文字列を他のワークシートBの特定のセルbで参照している場合、 このセルbにおいて、参照した文字列を、参照の形でなく、セルbの文字列に変換するには、どういう操作をすればよいのでしょうか?

  • エクセルでシートの参照先を調べたい

    エクセル2000です。 特定のセルの参照先なら、メニューの「ツール」から「ワークシート分析」で調べられますが、これは、ひとつずつ、セルをアクティブにしていかないと調べられません。 アクティブにしたシート(または選択したセル範囲)のどこかのセルを、他のシートのどこかのセルが参照しているかどうかを一度に調べる方法はないでしょうか?

  • EXCEL 一覧シートから各シートへ参照

    現在シートが 一覧、1、2、3、 とあります。 一覧シートには、 シート名(A1) 名前(B1) 1(A2) 山田(B2) 2(A3) 鈴木(B3) 3(A4) 木村(B4) と記載されております。(カッコ内は、セルの位置です) シート 1 のA1には、山田 シート1のB2を参照 シート 2 のA1には、鈴木 シート1のB3を参照 シート 3 のA1には、木村 シート1のB4を参照 とシート 一覧から参照して表示されるようにしたい と考えております。 数字の名前のシートが数個であればシート毎に入力すれば済む話ですが、 予定では、順次増え、最終的には100位になる予定です。 数式、マクロ VBA 等を使って  一覧シートに名前を入力すると該当のシートのA1セルに参照させる事は可能でしょうか? よろしくお願いいたします

  • エクセルで参照する別シート名をセルに入力したい

    エクセルで参照する別シート名をセルに入力したいです。 (1) sheet2とsheet3にそれぞれA1:B10の表があります。    A列には氏名がB列には数値が入力してあります。    (同じ表で月度が違います。) (2) vlookup関数を使ってsheet1のA列に氏名を入力して対応する数値を    B列に求めたいです。 (3) この時、sheet1のC1に「sheet2」「sheet3」と入力することで    参照するシートを変えたいのですが、方法が解りません。 そもそも可能かどうかも解らず、悩んでいます。 ご教授お願いいたします。   

  • 他シートのセルのINDIRECTでの参照

    たとえば、"A"というシートがあるとします。このAシートのセルA1を、"B"シートのセルB1からindirect関数を用いて読み込みたいのですが、BのB2にAのシート名が入っていまして、それを参照する必要があります。BのB1に、  =INDIRECT(B2&"!"&A1) としたところ、セル範囲が無効というエラーがでてしまいます。 BのB1はその時々で参照するシート名を変更するため、他のシート名になったりもしますので、このような処理が必要になっています。 他のシートからは読み込めないのでしょうか? ちょっと分かりづらい書き方になっているかもしれませんが、おわかりの方は、よろしくお願いします。

  • シート参照で変数を使いたい(EXCEL)

    通常、Excelで別シートのセルを参照する時は「'シート名'!B3」といった数式になりますが、この「シート名」をユーザーに入力してもらうような仕組みを作りたいと考えています。 ・あるシートのA3(例)にシート名を入力すると、B4セルに入力されたシートのB3セルの内容が表示される このようなこと、可能でしょうか?

  • VLOOKUP関数:別シートにある参照範囲が変動する場合

    スポーツクラブで学童会員の名簿を作成しています。 【目的】 VLOOKUP関数を利用して、シート1「名簿」のA列に会員番号を 手入力すると B列に学年、C列に氏名が各々自動入力されるようにしたい。 【設定】 ・シート1を「名簿」とし、  A列を会員番号、B列を学年、C列とD列を結合して氏名としました。 ・シート2を「参照データ」とし、  A列を会員番号、B列を学年、C列とD列(結合を解除)を氏名と  しました。 ・シート2の1行目はタイトル行とし、データが入力されているのは  2行目からです。 ・別シートのデータを参照するため、シート2のデータが入力されて  いる範囲に「参照範囲1」という範囲名をつけました。 【状況】 現在設定している数式は B2=VLOOKUP(A2,参照範囲1,2,FALSE) なのですが、以下の場合は「参照範囲1」で設定した範囲とは 異なる範囲のデータを参照しなければなりません。 ・入会者がいる場合:データを追加するため、行が増える ・退会者がいる場合:データを削除しブランクを解消するため、  行が減る 【質問】 上記状況の場合、VLOOKUP関数に加えてどのような関数を使用すれば 別シートにある参照範囲の変動に対応できるのでしょうか? 会員が増減するたびに、新たに参照範囲を設定し範囲名をつけ直す という作業は避けたいのですが・・・ ご教示いただけますよう、何卒宜しくお願い申し上げます。

  • エクセル 他のシートを参照に・・・

    エクセル2003使用しています。 シートaの所定の行に「山田」を含む文字を記載したら、シートbの所定のセルに「●」が自動で表示される。 (例えば山田君、山田太郎、家に帰った山田、など) これは可能でしょうか? よろしくお願い致します。

  • Excelのシート間の参照

    Excelでシート間のセルの参照をしたいのですが、どのシートを参照するのかを すぐに変えることのできるようにしたいのです。 具体的には、A、B、Cという名前のシートがあり、シートDにおいて A1セルにA、B、Cいずれかの文字を入力すると、その下のセルの参照先が シートAのB1セルになるようにしたいのです。 とりあえず色々式を入れてみたのですが、すべて拒否されてしまいました。 たとえば ='A1'!B1 ='"A1"'!B1 とかです。 よろしくお願いします。

  • 【Excel】別のシートからデータを参照したい

    Sheet1-->0101 にシート名変更 A1に111と入力(値は何でも良いです) Sheet2-->0102 にシート名変更 A1に222と入力 Sheet3のA1に'0101 (0101は文字列であること) Sheet3のB1に'0102 (0102は文字列であること) A2にシート名:0101のA1のデータ(111)を表示させたいです。 B2にはA2のセルをコピーしてシート名:0102のA1(222)データを表示させたいです。 A2にはどのような関数を用いればよいでしょうか?

専門家に質問してみよう