- ベストアンサー
vlookupについて
エクセルのZ1セルに●と入力するとZ2セルに表を参照して1と出力させたいのですが、 表がA1:A3セルが結合されていてそこに●と入力されています。B1セルは2、B2セルは1、B3セルは2と入力されています。 表が結合されているため、=vlookup(Z1,A1:B3,2,FALSE)と入力しても、b1セルしか参照できないのですが、何か方法はないでしょうか?B2の値が出るようにしたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A1:A3に●が有ることに意味が見いだせませんが。。。 単純にB1:B3の何行目かということなら =IF(Z1=A1,INDEX(B1:B3,2),"") 仮に4行目以降に3行毎に記号があるとするなら =INDEX(B1:B21,MATCH(H1,A1:A21,0)+1)
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
>B1セルは2、B2セルは1、B3セルは2と入力されています。 4行目(A4とB4)以降のセルにはどのような値が入力されているのでしょうか? >表が結合されているため、=vlookup(Z1,A1:B3,2,FALSE)と入力しても、b1セルしか参照できないのですが、何か方法はないでしょうか?B2の値が出るようにしたいです。 思考回路を切り替えてください。 VLOOKUP関数は範囲で指定した左側の列が検索対象です。 見付かったセルと同じ行の左から何番目の値を返すかを指定します。 A1:A3が結合されているとA2:A3にはデータがありません。 従って、VLOOKUP関数ではB2またはB3を返すことができません。 他の関数としてはINDEX関数またはOFFSET関数とMATCH関数の組み合わせが効果的と思われます。(既に回答が出ています)
- keithin
- ベストアンサー率66% (5278/7941)
=INDEX(B:B,MATCH(Z1,A:A,0)+1) とかでいいです。1行目をヒットしたら+1=2行目を参照します。
- kagakusuki
- ベストアンサー率51% (2610/5101)
>B2の値が出るようにしたいです。 表示させるのはB2セルの値だけで、B1セルやB3セルの値はB2セルの値と"同時には"表示させなくても良いという事でしょうか? それでしたら次の様な関数となります。 =IF(ISERROR(1/(INDEX($B:$B,MATCH($Z1,$A$1:$B$3,0)+1)<>""),"",INDEX($B:$B,MATCH($Z1,$A$1:$B$3,0)+1))