- 締切済み
VLOOKUPでの複数行表示について
VLOOKUP関数でボランティア活動表(テーブル)から行のデータを取り出す際に、例えば、複数ある日本太郎のデータ(行)を検索する場合、 VLOOKUP(A1,B2:G50,3,FALSE) とだけ記述した場合は日本太郎の最初の1行分のデータしか検索表示されませんが、テーブル及び関数に追加記述することで、日本太郎の複数行(全て)のデータを検索表示できる方法を教えて下さい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
>VLOOKUP(A1,B2:G50,3,FALSE) これを =INDEX(D2:D50,MATCH(A1,B2:B50,0)) とすることで日本太郎の1行目(の検索対象範囲の3列目:D列)(あなたのVLOOKUPと同じ結果)を, =INDEX(D2:D50,MATCH(A1,B2:B50,0)+1) =INDEX(D2:D50,MATCH(A1,B2:B50,0)+2) とすることで,日本太郎の2行目(1行下),3行目のデータをそれぞれ取ってきます。 #補足 このように, >日本太郎の複数行(全て)のデータを検索表示できる方法を教えて下さい。 これではあなたのヤリタイ事は 1)日本太郎を始め,データは例えば「3行ずつで組になっている」のか 2)日本太郎がリストの上や下にばらばらある のか,何をしたいのか不明瞭です。 具体的なサンプルデータと,そこからどんな結果が欲しかったのかを具体的に挙げて,ご質問を書くように心がけてみてください。
- KURUMITO
- ベストアンサー率42% (1835/4283)
VLOOKUP関数を使って日本太郎だけのデータを取り出すことに加えて他の方についてもデータを取り出したいことでしょう。そのような場合にはお示しのようにした表では複数行にわたるデータを表示させることができませんね。 次のようにしてはどうでしょう。 お示しの元のデータでB2:G50のデータがシート1のA2セルからF50セルの範囲に入力されているとします。そこでG列には作業列を作り、G2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",A2&COUNTIF(A$2:A2,A2)) 次にお求めの表を例えばシート2に表示させるとしてA2セルから下方には日本太郎などの検索したい氏名を入力します。 B列から右の列には検索後のデータ(シート1での3列目のデータ)を表示させることにします。 そのためB2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR($A2="",COUNTIF(Sheet1!$A:$A,$A2)=0),"",IF(COUNTIF(Sheet1!$G:$G,$A2&COLUMN(A1))=0,"",INDEX(Sheet1!$C:$C,MATCH($A2&COLUMN(A1),Sheet1!$G:$G,0))))
- aokii
- ベストアンサー率23% (5210/22062)
フィルターで日本太郎のみを表示してコピーで抽出してはいかがでしょう。 ちなみに、ピボットテーブルで複数ある名前を先に抽出しておくことをお勧めします。 また、斎藤と斉藤等、同じような漢字がある場合にもご注意下さい。 よみがなの列も作って、ピボットテーブルで複数あるよみがなの名前を先に抽出しておくこともお勧めします。