• ベストアンサー

エクセルで、基シートのデータを別シートに自動表示

エクセルの表示についての質問です。 例えば A列に名前コード、B列に名前 というシートがあり、 それを基に、別のシートに名前コードを入力すると自動的に名前が表示されるようにしたいのですが、 どうするば良いでしょうか。 教えて下さい。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 VLOOKUP関数を使われると良いと思います。  今仮に、名前コードを入力するセルをSheet1のC1セル、名前を自動表示させたいセルをSheet1のD1セル、基シートのシート名をSheet2、そのシートのA2セルからA99セルにかけて名前コードが並んでいて、B2セルからB99セルにかけて名前が並んでいるとします。  まず最初に、Sheet1のD1セルに、 =VLOOKUP(C1, と入力して下さい。  次に、先程D1セルに入力した数式の末尾、「,」の右隣にカーソルを合わせてから、ウィンドウの下端にあるシート名の中の、基シートのシート名(ここではSheet2)をクリックします。  すると、基シートに切り替わりますから、名前コードと名前が記されているリストの中の、最初の名前コードが記されているセルを選択して左クリックした後、そのままマウスの左ボタンを押したまま、名前欄の最後のセル(未記入のセルも可)までドラッグして、リストを範囲選択して下さい。(リストの範囲が広い場合には、最初の名前コードをクリックした後、ボタンを離し、名前欄の最後を、Shiftキーを押しながらクリックした方が、楽かもしれません。)  リストの範囲選択が終了しますと、ウィンドウの上部に表示されている数式が、 =VLOOKUP(C1,Sheet2!A2:B99 と変わりますから、続けて ,2,FASE) と入力して、数式を =VLOOKUP(C1,Sheet2!A2:B99,2,FASE) に変えてから、Enterキーを押せば完了です。  ここでの、シート名やセルの名前は、あくまでも説明を行うための例として、仮に挙げたものですから、数式の中のシート名やセルの名前は、実際に使われているものに合わせて、置き換えて下さい。  尚、上記の数式では、名前コードを入力するセルに、何も入力されていない場合や、リストに無いコードが入力された場合には、エラーとなりますから、この点を改善した数式を、以下に記させて頂きます。 =IF(ISNA(VLOOKUP(C1,Sheet2!A2:B99,2,FASE)),IF(C1="","","(該当無し)"),VLOOKUP(C1,Sheet2!A2:B99,2,FASE))  こちらの数式では、名前コードを入力するセルに、何も入力されていない場合には、何も表示されず、リストに無いコードが入力された場合には、 (該当無し) と表示されます。

ringo23
質問者

お礼

回答通知メールの設定を間違えてしまい、回答いただいたのに 気付かずお礼が遅くなってしまいました。 とても丁寧なお返事、どうもありがとうございます。 使いこなせるように頑張ります!

その他の回答 (1)

  • liberty01
  • ベストアンサー率29% (16/54)
回答No.1

Vlookup関数使えば簡単にできますよ。 ※ただし、コードが重複する場合は最初のやつを持ってきてしまいますが  あくまで、コードが一意の場合です <例> シート1   A   B 1 コード 名前 2 01  鈴木 3 02  佐藤 4 03  加藤 シート2   A         B 1 {自分で入力}  =Vlookup(シート2!A1,シート1!A1:B4,2) ってかんじにすれば、シートにでAの行にシート1に対応するコードを入れればB行に勝手に該当する名前が入ります。B列に式は入ってないとだめだけどね

ringo23
質問者

お礼

お礼が遅くなり失礼致しました。 早速やってみました。 これで作業がグンと楽になります! どうもありがとうございます。

関連するQ&A

  • 異なるシートに自動的に書き込みするには

    エクセルで、シート1・シート2があります。 シート1 B列 名前 C列 アドレス D列 年齢 E列 住所 とありまして、100人程作ってあります。 それを、 シート2に自動的に書き込まれるようにしたいです。 シート2には、 A列 名前 D列 アドレス G列 年齢 I列 住所 にしないとなりません。 (例) シート1のB1 に「名前」と入力すると  シート2のA1 に「名前」と自動入力 という形です。 宜しくお願いします。

  • excel VBAを使って、データを自動的に表示させたい!

    excelのVBA・マクロの書き方について教えてください!! たとえば、商品データ(商品名、数量、産地、担当者、商品コード)を入力したシートがあります。 別のシートに、商品名と数量を入力するだけで、商品データを参照して、産地・担当者・商品コードが自動で入力されるマクロを作成したいです。 「商品名」だけを入力して、表示させることはできたのですが、 商品名が同じで、数量が違うものがあると、片方のものしか表示されません。 A・B列に「商品名」・「数量」を入力して、自動でデータが表示される方法はありますか??

  • エクセルで別シートのデータを表示する件

    エクセルで別シートのデータを表示する件 「名簿のシート」(1)があります。 左側から「名前」、「住所」、・・・とデータが入ってます。 「別のシート」(2)で書類を作りたいのですが、(1)のシートからデータがうまく反映されません。 例えば、 (1)の「A1」に「浦島太郎」とあります。 (2)の「B1」は、「セルの書式設定」の「ユーザー定義」で「@_ "様"」としています。 (2)の「B1」に「浦島太郎 様」と表示させたいので「=(1)!A1」と入力しても、「=(1)!A1 様」と表示されてしまいます。 エクセルのバージョンは2002です。 よろしくお願いします。

  • エクセルで別シートのデータを表示したい

    予めsheet1には下記が入力してあります。 A列  B列 1   王 3   長嶋 24   高橋 55   松井 (背番号に対応した選手を設定している) そこで、sheet2のA1にて背番号を入力すると B1に選手名が表示されるようにしたいなと思 っている(例えばsheet2のA1に55と入力する とB1に松井と表示させたい)のですがどのよ うにすれば良いのでしょうか? お手数ですが回答宜しくお願いします。

  • エクセルの1シートを項目別に別シートへ分ける方法

    エクセル2010で1シートのデータを項目別に別シートへ自動的に分割する方法で困っています。 検索するとマクロを使うと書いていますが、マクロはほとんど使ったことが無いのもあって、わかりませんでした。 シート1 A列(日付8ケタ+商品番号6ケタ) B列(売上額) 20130515000004           300 20130515000006           100 20130518000004           300 20130519000001           500 20130519000004           300 ・・・                   ・・・ をA列の日付部分上8ケタを使って日別にシートを分け、 シート名をuriage20130515(uriageと日付8ケタ)という名前にしシート名+CSV形式で保存したいです。 シート2 シート名:uriage20130515 A列         B列 20130515000004 300 20130515000006 100 シート3 シート名:uriage20130518 A列         B列 20130518000004 300 シート4 シート名:uriage20130519 A列         B列 20130519000001 500 20130519000004 300 このように自動で別シートに分割した上で、シート名CSV形式で保存まで自動でできるとありがたいです。 自動化できるならシートを分割するマクロ、シート名でCSV保存するマクロが一つのマクロになっていても、分かれていてもOKです。 このようなことはできますか? よろしくお願いします。

  • エクセルで打ち込んだ数字を自動で別シートに表示したい

    エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。 例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。 また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

  • EXCELでデータを自動的に返す

    A列に会社名、B列に会社コードが記載された、簡易データベースとしてのEXCELシートがあります。 別のワークシートで、A列に会社名、B列に金額を記入していく伝票があります。 このシートのC列に、会社コードが自動で入るようにしたいのですが、どのような関数を使えばよいでしょうか? よろしくお願いします。

  • Excelでの別シート集計について

    Excelで月別、項目別で時間を集計するシートを作成しようとしています。 シート2ではシート1 F列コード別に集計してD列の時間データを月別に合計 シート3ではシート1 F列コードとG列コード別(Fが1001でGが1001、、、)に集計してD列時間データを合計、という表データにして抽出したいと考えています。 シート1には K欄に年月を表示  =IF(OR(A7="",B7="",C7=""),DATE(2100,12,31),DATE(A7+2000,B7,C7)) L列にF列コード+年月  =F7&(2000+A7)&B7 M列にG列コード+年月  =G7&(2000+A7)&B7 というところまでは設定したのですが、出力先となるシート2、シート3にはどのような設定をすればよいのか行き詰っています。 なにとぞ易しい回答をよろしくお願い申し上げます。

  • Excelで条件別にシートを振り分ける方法

    初心者です。よろしくお願いします。 Excelで条件別にシートを振り分ける方法を教えてください。 名簿の管理をしています。 シート1にNoや名前を入力し、条件ごとに別シートに行ごと自動で振り分ける方法がありますか? 情報を入力するのは、シート1のみで、 シート2~6を自動で振り分けたクラス名簿という形にしたいです。 現在、以下のようにシート1を作成してます。     列A   列B   列C   行1  No  氏名   クラス  行2  1   花子    A 行3  2   太郎    C 行4  3   二朗    B 行5  4   京子    B 行6  5   史郎    B 行7  6   典子    C 行8  7   公子    A ・ ・ これを、シート2はAクラス、シート3はBクラスという具合に、Noと氏名を振り分けたいです。 よろしくお願いいたします。

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?