• ベストアンサー

エクセル(Excel)で別ファイルと連携

Excel2000で料金の計算業務をしています。 業務を簡単にする方法を伺いたく、質問をします。 ・Aファイル 一部店舗名(D列)、機器の台数入力済み(Z列) ・Bファイル 店舗名(E列)、機器の台数を入力したい(G列) Aファイルを参照して、Bファイルで一致する店舗の行に 機器の台数を入力する作業があります。 現在は、良い方法が思いつかず、Aファイルの店舗名を BファイルでCtrl+Fの検索を繰り返して機器の台数を 手打ちで入力しています。 もっと短時間に作業する方法はないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • k-konno
  • ベストアンサー率40% (34/83)
回答No.2

BファイルのG1に下記を入力し、 =VLOOKUP(E1,[『Aファイル.xls』]『Aシート』!$D:$E,2,FALSE) 先ほど、検索の型は空白でいいといいましたがFALSEと入力します。 『』でくくられた部分のみkunihikomaruさんが変更してください。

その他の回答 (2)

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.3

基本的にはNo2と同じですが、VLOOLUP関数等を使う際は、あらかじめ参照範囲(この場合はAファイルの「D:Z」)に名前を付けておくことをお薦めします。 まずAファイルの該当シート(店舗名・機器数入力のシート)を開き、挿入→名前→定義をクリックし、名前欄に例えば「機器数」と入力し、下の参照範囲欄は「=Sheet名!」の右に「$D:$Z」と入力します。 次にAファイルを開いた状態のまま、Bファイルの該当シートを開き、店舗名の最上行列が仮にE2だとすると、G2に  =VLOOKUP(E2,  と一旦ここまで入力し、Aファイルに戻り(ツールバーのウインドウから選択)、ツールバーから「=ab」を選択(ツールバーに「=ab」を表示してないときは、挿入→名前→引用をクリック)し、「機器数」を選択、OKをクリックします。 すると =VLOOKUP(E2,Aファイル名!機器数 となりますので、そのまま右に  ,23,FALSE)  と入力しEnterをクリックします。 以上で計算式   =VLOOKUP(E2,Aファイル名!機器数, 23,FALSE) が出来上がりますので、この式を下にプルダウンコピーします。 この式の「23」というのは、D列から数えてZ列が23番目にあるという意味です。 言葉で説明するとBファイルE2がAファイル参照範囲の最左列にある同じデータを探し、その行の右23番目(Z列)のデータを返す、という意味です。 FALSEというのはデータ順がランダムに配列されているときに誤回答が出ないようにするための検索の型です。 以上何か幼児にスプーンで食べさせるような回答で大変失礼かと思いましたが、No1回答の補足欄にVLOOKUP関数についての理解が十分でないとのお書き込みがありましたので、僭越ながら付け加えさせていただきました。あしからずご了承ください。

  • k-konno
  • ベストアンサー率40% (34/83)
回答No.1

BファイルのG列にVLOOKUP関数を使ってみてはいかがでしょうか? A,Bファイルの両方を開いたまま行ってください。 検索値 Bファイルの店舗名が入力されているセル(G5に関数を入力するならばE5) 範囲 AファイルのD列とE列の店舗名、店舗台数の入力されているセル全てを選択する    (見出し等は含めない)    選択後ファンクション4を押して絶対参照する 列番号 2 検索の型 空欄 あとはBファイルのG列を下方向ににコピーしていく これで対処できませんでしょうか? もし、できないとようであれば申し訳ございません。

kunihikomaru
質問者

補足

結果が#REFになってしまいます。 お手数をおかけしますが、VLOOKUP関数が理解していない 恐れがあるので、関数の式を含めて教えていただけないでしょうか?

関連するQ&A