• ベストアンサー

エクセル関数を使った自動表示

Excelで関数をどのように使えば下記のプログラムが作れるのか困っています。 Sheet1に、例えば A1のセルに"選手名" B1のセルに"チーム名"     A      B  1 イチロー マリナーズ  2 松井   ヤンキース     :     : のように記入されているSheet1を用意しておきます。 Sheet2でA1のセルに、Sheet1に記載されている選手名を入力したら B1のセルに"自動的に"チーム名が表示されるようにしたいのですが… よろしくお願い申し上げます。

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

  • ベストアンサー
  • heqi
  • ベストアンサー率50% (1/2)
回答No.3

VLOOKUP関数を用います。 この場合、Sheet1は参照するデータベースの役割を担います。 Sheet2は実際の作業シートです。 (1)まずSheet1のデータベースを完成させます。入力方法はistingさんの記入の通りでよいです。 (2)Sheet2のB列のセルに、VLOOKUP関数を組みます。例えばB1セルの式には、  ・検索値=A1(チーム名を知りたい選手名。要は質問内容です。)  ・範囲=Sheet1!$A$1:$B$2(参照するデータベースの範囲。式をコピーする時のために$を付けるのがポイントです。)  ・列番号=2(上記の範囲指定したデータベースの一番左端の列を1として何列目に答え=チーム名が含まれているかを指定。この場合、データベース範囲の2列目にチーム名が入っているため2とします。)  ・検索の型=0(今回のご質問の場合は特に不要ですので0としておいて下さい。詳細はHELPで確認できます。) (3)後はB1のセルをB2以下のセルにコピーすればOKです。A列が未入力の時『#N/A』が表示されますが、A列セルに選手名を入力すれば、自動的にその選手に該当するチーム名をデータベースから拾ってきて表示します。 VLOOKUPは、慣れないとHELPの説明を読んでも意味が分かりにくく取っ付き難い印象がありますが、簡単な例でその効果を確認し、使いこなせるようになれば、非常に便利な関数です。応用すればエクセルでアクセスのようなデータベースソフト的な作業をすることができます。 私も仕事で愛用しています。

noname#242762
質問者

お礼

とても丁寧なご回答ありがとうございます。 もしご存知であればもう一つ教えていただきたいのですが、 私が例としたSheet1の内容が、 別のBookのSheetに記載されていたとしても 反映させる事は可能でしょうか? よろしくお願いいたします。

その他の回答 (3)

  • heqi
  • ベストアンサー率50% (1/2)
回答No.4

Sheet1(データベース)が他のファイルに存在していても可能です。 その場合、VLOOKUPの関数式を入力する際、あらかじめデータベースとなるファイルを開いておき、範囲入力の際、アンダーバーにあるそのファイルをクリックして開き、あとは通常の方法と同様にデータベースとしたいエリアを範囲指定して下さい。 あらかじめデータベースとなるファイルを開いておかなくても、そのファイルの保存場所、そのファイル内のどのSheetか、そのSheet内のどの範囲かを自分で入力して指定できますが、面倒なのでやめましょう。あらかじめ開いておけば、関数を入力した作業ファイルを閉じて再度開いた時に、参照先ファイルの場所が自動的に記入されています。 注意点は、データベースファイルの保存場所を変更しないことです。変更してしまうと参照先(=関数式内の範囲の部分)のファイル保存場所を編集し直す必要があり多少面倒です。 作業ファイルを再度開く際、『データソースへのリンクが~』という確認Windowが表示されますが、データベースファイルの内容を変更した場合『更新する』を指定すると、作業ファイルの関数の答えはその変更を反映した状態となります。

noname#242762
質問者

お礼

可能なんですね♪ どうもありがとうございました!

noname#252806
noname#252806
回答No.2

VLOOKUP関数です。 sheet2のA1をキーとして sheet1の表を参照する形です。

  • lele00
  • ベストアンサー率29% (74/250)
回答No.1

過去に回答していますので、下記を参照下さい。 http://okwave.jp/qa3324466.html

関連するQ&A