- ベストアンサー
Vlookupで、2つの候補のうちどちらかを検索値にしたい
既出だろうけど、検索でうまく引っ掛けられなかったので質問させて頂きます。 A B C 1 球団 順位 2 大洋 1 3 巨人 2 4 広島 3 5 阪神 4 6 こんなデータベースがあるとして、例えば「A6」のセルに「大洋か横浜」の順位をデータベースから検索して入れたい場合の数式は、どうしたらいいのでしょうか。 「=vlookup({"大洋";"横浜"}),A1:B5,2,0)」でいいかな、と思ってやってみたんですが、これでやると「大洋」しか検索してくれず、「横浜」になったときに値が出てきません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 =INDEX(B2:B5,MAX((A2:A5={"大洋","横浜"})*ROW(A2:A5))-1,1) でCtrl+Shift+Enterで配列数式
その他の回答 (3)
- Nouble
- ベストアンサー率18% (330/1783)
大洋か横浜の順位を取りたいということですが データベスに両方の名と順位が記載されていた場合 MAXでは順位の低い方 MINでは高い方 しか常に表示せず DGETに至ってはエラーとなってしまいます これでは「大洋か横浜」と言う言葉の裏にある気まぐれ性が表現できていないのですよね? なのでその気まぐれ性を表現してみました 1つのセル(仮にA6とする)だけで順位のみを出したい場合は A6 =VLOOKUP(CHOOSE(RANDBETWEEN(1,2),"大洋","横浜"),$A$2:$B$6,2,0) 球団名と順位 と言う形で表示させたい場合は A6 =CHOOSE(RANDBETWEEN(1,2),"大洋","横浜") A7 =VLOOKUP(A6,$A$2:$B$6,2,0) ですね
お礼
ありがとうございました。 2つの検索候補は、同時には存在することはないという意味で、「大洋」と「横浜」とにしたのですが、確かに分かりにくかったですね。 両方存在する場合でも検索できる方法まで分かって、ありがたい限りです。
空いている縦3つのセル(仮にE1~E3)を使って、 E 1 球団 2 大洋 3 横浜 と、入力すれば、 =DGET(A1:B7,B1,E1:E3) で、イケると思います。
お礼
ありがとうございます。 DGETも初めて知りました。 また一つ、勉強になりました。助かります。
- mshr1962
- ベストアンサー率39% (7417/18945)
=MAX(($A$2:$A$6={"大洋","横浜"})*B$2:B$6) と入力して、Ctrl+Shift+Enterで配列数式にしてください。
お礼
おおっ、素晴らしい。ありがとうございました。 配列数式って初めて知りました。 活用範囲が広そうで、面白そうですね。勉強して使いこなしていきたいです。
補足
お礼を言った後から、追加ですいません。例が悪かったのをおわびします。 順位のセルに入力されているのが「優勝」「ビリ」「2位」などの文字列の場合に検索できる数式はありますでしょうか。
お礼
おおっ、できました。ありがとうございます。 私はまだまだ使える関数が限られているので、もっと賢くなりたいものです。