• ベストアンサー

VLOOKUP関数について教えてください。

たとえば、「定期預金」という文字列をSHEET1から検索すると、セルA5に見つけたとします。 そしてそのセルから、右に3、下に10の位置にあるセル(D15)の数値を、SHEET2に表示させたい場合はどのような計算式を入れればいいのでしょうか? (B5だったらE15の数値というように) またこのような場合、VLOOKUP以外の関数のほうがよければ教えてください。よろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

セルA5という位置を式の中に入れてよければ、  =OFFSET(Sheet1!A5,10,3,1,1) で、Sheet1のA5から下に10行、右に3列移動したセルの値を表示します。 セルB5なら  =OFFSET(Sheet1!B5,10,3,1,1) になります。 ただ、この式は式の中にセル位置を入力しなくてはいけません。(質問はそういう意味?) 例えば、Sheet1のA列 A1:A100 で『定期預金』という文字列を探すとすれば、  =OFFSET(INDIRECT("Sheet1!A"&MATCH("定期預金",Sheet1!A1:A100,0)),10,3,1,1) で、式の中に探し出したセル位置を入力する必要がなくなります。 当然、"定期預金"の文字は他セルの参照もできます。 VLookUpは探し出した値を表示しますが、『Match』は位置を返すため、セル位置を決めやすくなります。 セル位置の行を求めたら、『INDIRECT』で『OFFSET関数』の引数のセルを指定しています。 『探し出した場所』を自動的に式中で特定するならMatchを使うべきでしょう。

golman
質問者

お礼

御礼がたいへん遅くなりまして、申し訳ございません。 教えていただいたとおり式を入力しましたら、私が望んでいるとおりの結果が出ました。 どうもありがとうございました。 vlookupではなく、matchを使えばいいのですね.勉強になりました.

その他の回答 (1)

  • IMADA25
  • ベストアンサー率0% (0/2)
回答No.1

こんにちは。私は去年までパソコンのインストラクターをしていた者です。結婚して今は専業主婦なのですが、なんだか《関数》という文字を見て懐かしく、考えてみました。 SHEET2にSHEET1のセルD15の数値を表示したいなら、VLOOKUP関数を使うよりも、SHEET2の表示したいところにセルを合わせて =Sheet1!C15 と入れれば良いと思います。入力方法は =Sheet1!C15 と打ち込んでも良いし、表示したいセルにあわせて = を入力して Sheet1のC15をクリックすればこの計算式が入ります。こんな答えで役に立つかわかりませんが、頑張ってください。

golman
質問者

補足

私の質問のしかたがわかりづらかったのですね。 検索結果の値が必ずセルA5にあるわけではありません。 見つかったセルから、ある一定の位置にあるセルの値を表示させたいのです。 その一定の位置というのが、右3、下10に移動したところにあるという意味です。 もしおわかりになりましたら、またご回答をお願いいたします。

関連するQ&A