• 締切済み

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を使用すべきでは無いのでしょうか? 教えてください。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

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列を非表示にでもしてください。

mastergrad
質問者

お礼

ありがとうございます!

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.1

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同時押し 下方向・↓

関連するQ&A