ネットが遅くてイライラしてない!?

Excel2000で料金の計算業務をしています。
業務を簡単にする方法を伺いたく、質問をします。

・Aファイル 一部店舗名(D列)、機器の台数入力済み(Z列)
・Bファイル 店舗名(E列)、機器の台数を入力したい(G列)

Aファイルを参照して、Bファイルで一致する店舗の行に
機器の台数を入力する作業があります。

現在は、良い方法が思いつかず、Aファイルの店舗名を
BファイルでCtrl+Fの検索を繰り返して機器の台数を
手打ちで入力しています。

もっと短時間に作業する方法はないでしょうか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

BファイルのG1に下記を入力し、




=VLOOKUP(E1,[『Aファイル.xls』]『Aシート』!$D:$E,2,FALSE)


先ほど、検索の型は空白でいいといいましたがFALSEと入力します。
『』でくくられた部分のみkunihikomaruさんが変更してください。
    • good
    • 0

基本的には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関数についての理解が十分でないとのお書き込みがありましたので、僭越ながら付け加えさせていただきました。あしからずご了承ください。
    • good
    • 0

BファイルのG列にVLOOKUP関数を使ってみてはいかがでしょうか?


A,Bファイルの両方を開いたまま行ってください。

検索値 Bファイルの店舗名が入力されているセル(G5に関数を入力するならばE5)

範囲 AファイルのD列とE列の店舗名、店舗台数の入力されているセル全てを選択する
   (見出し等は含めない)
   選択後ファンクション4を押して絶対参照する

列番号 2

検索の型 空欄

あとはBファイルのG列を下方向ににコピーしていく

これで対処できませんでしょうか?
もし、できないとようであれば申し訳ございません。

この回答への補足

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

補足日時:2005/09/14 10:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelでファイルを越えて連携できるのでしょうか

Excel2010なのですが、同じファイルであればシートをまたいであるセルを参照出来ますが、
別ファイルの、あるシートのあるセルを参照するというような事は出来ないのでしょうか?
ほんの初歩的なマクロは学んだのですが、そういうファイルをまたいでの設定は無かったように思いますが、マクロとか使えば出来るのでしょうか?
例えばプログラミングなどであるinclude()などあればファイルを参照出来るのでしょうが。

Aベストアンサー

エクセルの数式では,
='c\test\[book1.xls]Sheet1'!A1
といった数式で多ブックの値を参照し計算に利用できます

参照元ブックを開いておいて
=[book1.xls]sheet1!A1
のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。




マクロでは別のブックを「開いて参照する」のが原則です。
sub macro1()
 dim w as workbook
 set w = workbooks.open("c:\test\book1.xls")
 msgbox w.worksheets("シート名").range("セル番地")
 w.close false
end sub


開きたくないご相談はしばしば見かけますが,労多くして功少ないの典型と言えます。

方法1:開いているところを見せない
sub macro2()
 dim w as workbook
 dim x
 application.screenupdating = false
 application.calculation = xlcalculationmanual
 set w = workbooks.open("c:\test\book1.xls")
 x = w.worksheets("Sheet1").range("A1")
 w.close false
 application.calculation = xlcalculationautomatic
 application.screenupdating = true
 msgbox x
end sub

方法2:エクセルに閉じたブックの値を取ってこさせる
sub macro3()
 dim x
 range("A1").formula = "='C\test\[book1.xls]Sheet1'!A1"
 x = range("A1").value
 range("A1").clearcontents
 msgbox x
end sub

方法3:4.0マクロ関数を使う
色々制約があるのでお薦めしませんが,下記など参考に。
http://www.moug.net/tech/exvba/0060037.html

エクセルの数式では,
='c\test\[book1.xls]Sheet1'!A1
といった数式で多ブックの値を参照し計算に利用できます

参照元ブックを開いておいて
=[book1.xls]sheet1!A1
のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。




マクロでは別のブックを「開いて参照する」のが原則です。
sub macro1()
 dim w as workbook
 set w = workbooks.open("c:\test\book1.xls")
...続きを読む

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

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む


人気Q&Aランキング