• 締切済み

VLOOKUPのような検索で複数ヒットしたら全て抽出したい

Sheet1      A    B       1. 600円 イチゴ       2. 550円 みかん       3. 380円 イチゴ       4. 400円 りんご       5. 650円 イチゴ       6. 250円 りんご Sheet2      A ......B........C..........D..........E       1. イチゴ 600円 380円 650円       2. みかん 550円       3. りんご 400円 250円 Sheet2のA1イチゴでSheet1のB列検索して、ヒットしたA列の値段をSheet2のB1に表示する。この時、検索結果が複数あった場合、2個目をC1 3個目をD1に表示する。(max10個入れたいです) 次はA2のみかんで検索する。 イチゴのような種類が2000個あるので関数で自動検索したいのですが よろしくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

VLOOKUP を引き合いに出して質問するのが、見当ハズレです。 ずばり、品目ごとの価格表を作りたいといえばよい。 もともと「いちご」を抜き出す質問は、Googleで「imogasi方式」で照会すれば、もちろん全部ではないが過去質問が沢山出ます。 この質問のいやなところは、該当の単価を横方向に並べているところに有る。 関数では今日も抜き出し問題の質問ガあったが、指定品目1つの検索抜き出し問題でも、式や概念(配列数式など)複雑になる。 ーーー これはVBA向きの課題だ。 品目でソートし、同じイチゴの行は隣り合って固まるから、イチゴの行が終わるまで、右の列方向に順次単価を書き出せばよい。ロジックは簡単でコード数も10行ぐらい。 この場合順序を思い通りにするのは難しいが。 ーー データの中から、重複の無い, イチゴ みかん りんご の表を作る方法はわかっているのかな。こちらも関数では(作業列を使わないという場合は)簡単ではない。

mikireo
質問者

お礼

とても貴重な回答ありがとうございました。

mikireo
質問者

補足

可能であればVBAでのプログラムの作り方を教えて頂けないでしょうか。重複の無い表は手作業で作成済みなので、品目の隣の空セルに入れたいと思いますがどうでしょうか。宜しくお願いします。

  • hiro-ss16
  • ベストアンサー率42% (18/42)
回答No.1

関数で出来ますが、少し複雑になるので、別の一つのやり方を説明します。まずA,B項目名を含む値段と品名の表全体を選択した状態で「データ」「フィル」「オートフィル」とクリックします。するとオートフィルの状態になって、小さな逆三角が出ますね。品名の方の三角をクリックして、例えば「イチゴ」をクリックすると、イチゴの価格データがでます。そしてこの状態で価格部分を選択して、あらかじめ用意しておいた(下の表の)イチゴの横に貼り付けます。貼り付ける場合は「形式を選択して貼り付け」を選び表われたメニュウの下のほうの「行列を入れ替える」にチェックを入れておく。これを2000についてやることになります。(オートフィルの解除はオートフィルにした動作をくりかえします)しんどいですが参考までに・・・    A    B 1  600円 イチゴ 2  550円 みかん 3  380円 イチゴ 4  400円 りんご 5  650円 イチゴ 6  250円 りんご 1  イチゴ 600円 380円 650円   2  みかん 3  りんご

mikireo
質問者

お礼

自動でできるものを探していますが、今回の回答ありがとうございました。

関連するQ&A