- 締切済み
vlookupの活用について
お世話になります。 vlookupで下記のような物を作りたいと考えています。 ≪sheet1≫ A B 1 イヌ キビ団子 2 サル ずんだモチ 3 イヌ みたらし団子 4 キジ ケーキ 5 イヌ ゴマ団子 上記のような表を貼り付けたsheet1から ≪sheet2≫ A B 1 イヌ キビ団子 2 イヌ みたらし団子 3 イヌ ゴマ団子 4 イヌ 5 イヌ sheet2へ上記の様な表にしたいと考えています。 =vlookup(イヌ,sheet1!$A$1:$B$5,2,0)とsheet2のB列に入力していますが、 A B 1 イヌ キビ団子 2 イヌ キビ団子 3 イヌ キビ団子 4 イヌ キビ団子 5 イヌ キビ団子 上記の様になってしまいます。 sheet1で済ますなら並べ替えをするだけですが、データをsheet1に貼り付ければsheet2に反映されるようにしたいと考えています。 そもそもvlookupを使用すべきでは無いのでしょうか? 教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
Sheet2 A列の「イヌ」は最初から入っている物と考えて良いのですよね? 色々とやり方はあると思いますが、作業列とVlookupを使用したやり方を……。 Sheet1の左端に作業列を追加します。 その作業列には、 =B1&COUNTIF(B$1:B1,B1) と入れて下までコピーします。 これで、作業列には動物の名前+登場回数が入ります。 ≪sheet1≫ A B C 1 イヌ1 イヌ キビ団子 2 サル1 サル ずんだモチ 3 イヌ2 イヌ みたらし団子 4 キジ1 キジ ケーキ 5 イヌ3 イヌ ゴマ団子 で、Shee2のB1に =IF(COUNTIF(Sheet1!A:A,A1&ROW())=0,"",VLOOKUP(A1&ROW(),Sheet1!A:C,3,FALSE)) と入れて下までコピー。 つまり、Vlookupの検索値を「イヌ1」の様にしています(Row()は行番号。これを登場回数の代わりに使って居ます)。 あとは、Sheet1のA列を非表示にでもしてください。
- n_na_tto
- ベストアンサー率70% (75/107)
Sheet2 B1 =IF(ROW(A1)>COUNTIF(Sheet1!A$1:A$20,A1),"",INDEX(Sheet1!B$1:B$20,SMALL(IF(Sheet1!A$1:A$20=A1,ROW(A$1:A$20)),ROW(A1)))) Ctrl+Shift+Enter同時押し 下方向・↓ ●なお、Sheet2を下のようにしたいとき.. Sheet1 ___A_______B_ 1_イヌ___キビ団子_ 2_サル__ずんだモチ_ 3_イヌ_みたらし団子_ 4_キジ____ケーキ_ 5_イヌ___ゴマ団子_ 6_サル___べっ甲飴_ Sheet2 ____A_______B_ _1_イヌ___キビ団子_ _2_イヌ_みたらし団子_ _3_イヌ___ゴマ団子_ _4_イヌ________ _5_イヌ________ _6_サル__ずんだモチ_ _7_サル___べっ甲飴_ _8_サル________ _9_サル________ 10_サル________ B1 =IF(COUNTIF(A$1:A1,A1)>COUNTIF(Sheet1!A$1:A$20,A1),"",INDEX(Sheet1!B$1:B$20,SMALL(IF(Sheet1!A$1:A$20=A1,ROW(A$1:A$20)),COUNTIF(A$1:A1,A1)))) Ctrl+Shift+Enter同時押し 下方向・↓
お礼
ありがとうございます!