- ベストアンサー
VLOOKUP関数で検索値を範囲で指定する方法とは?
- エクセルのVLOOKUP関数で、通常は検索値は一意のものを指定しますが、範囲指定しているケースがあります。これはどのようなことなのでしょうか?
- 通常、VLOOKUP関数では検索値は一意のものを指定しますが、特定の範囲内に検索値が存在する場合は、範囲指定して検索することも可能です。
- VLOOKUP関数では、検索値を範囲で指定することで、特定の範囲内から条件に合致する値を検索することができます。この方法は便利な場合もあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=VLOOKUP($C$2:$C$4,A2:B5,2,FALSE) は =VLOOKUP($C$2:$C$4,$A$2:$B$5,2,FALSE) だと思いますが 単純にE2に =$C$2:$C$4 としてE4までコピーするとそれぞれの行のC列の同じ行のデータがセルに表示されます。 そういう仕様なのだと思われますので、値指定を範囲にすると同一行の指定列のデータを指定したのと同じになるということですね。 上記の場合は、2行目から4行目までの指定なので、それ以外の行で利用させないという意思があるのかもしれません。 ちなみに =VLOOKUP($C:$C,$A$2:$B$5,2,FALSE) でも動作します。 欠点は同じ行の検索値データでないと利用できないということです。 $C$2:$C$4,だとD5にコピーするとエラーになりますよね。
その他の回答 (2)
- kkkkkm
- ベストアンサー率66% (1719/2589)
No2のおまけです。 No1さんの言われる手順で配列数式にすると、それぞれのセル単独で編集や削除ができなくなるので数式の簡易なロックになります。 セルを選択した時に {=VLOOKUP($C$2:$C$4,$A$2:$B$5,2,FALSE)} と前後が{}で囲まれて見えます。数式バーをクリックするなど編集モードにすると{}は消えます。
- msMike
- ベストアンサー率20% (364/1804)
》 もちろんこれをそのままD4までコピーしても求める通りの結果が 》 出てきます。 嘘でしょ!セル D3 は #N/A になるでしょ? でも、次の手順だとどうなりますか? 1.範囲 D2:D4 を選択 2.F2キーを一発ツン 3.式 =VLOOKUP($C$2:$C$4,A2:B5,2,FALSE) を入力(Enterキーはまだ  ̄ ̄叩かない!)して、Ctrl+Shift+Enterキーを「エイヤッ!」と叩き  ̄ ̄付け 【ヒント】ハイレツスーシキ
お礼
回答ありがとうございました。配列形式ももうちょっと勉強します。。
補足
ごめんなさい!よく問題を読み返してみると、 =VLOOKUP($C$2:$C$4,A2:B5,2,FALSE) のままでD4までコピーすると「範囲A2:B5」がずれてしまうので、エラーになりますね^^; こちらは =VLOOKUP($C$2:$C$4,$A$2:$B$5,2,FALSE) でした。。 これだとエラーにもならず、数式は全くD2のものと同じなのに、D3の答えは「もも」の単価が表示されます。。 そういうものだというのならそうなのでしょうが、なかなかそうした話はサイトにも出ていないもので。不思議だなと。。
お礼
ありがとうございます! 下の細く含め大変わかりやすい説明でした。 実は会社の社内研修でのミニテストでこうした回答をしてきた方が居て、正解とすべきか結果は同じでも違うということにすべきか迷っていたところでした。 たぶん間違いということではないと思うので、「コメントしつつ正解」にしたいと思います(元々エクセルの得意な方ではないので、、)。