- 締切済み
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個あるので関数で自動検索したいのですが よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
VLOOKUP を引き合いに出して質問するのが、見当ハズレです。 ずばり、品目ごとの価格表を作りたいといえばよい。 もともと「いちご」を抜き出す質問は、Googleで「imogasi方式」で照会すれば、もちろん全部ではないが過去質問が沢山出ます。 この質問のいやなところは、該当の単価を横方向に並べているところに有る。 関数では今日も抜き出し問題の質問ガあったが、指定品目1つの検索抜き出し問題でも、式や概念(配列数式など)複雑になる。 ーーー これはVBA向きの課題だ。 品目でソートし、同じイチゴの行は隣り合って固まるから、イチゴの行が終わるまで、右の列方向に順次単価を書き出せばよい。ロジックは簡単でコード数も10行ぐらい。 この場合順序を思い通りにするのは難しいが。 ーー データの中から、重複の無い, イチゴ みかん りんご の表を作る方法はわかっているのかな。こちらも関数では(作業列を使わないという場合は)簡単ではない。
- hiro-ss16
- ベストアンサー率42% (18/42)
関数で出来ますが、少し複雑になるので、別の一つのやり方を説明します。まずA,B項目名を含む値段と品名の表全体を選択した状態で「データ」「フィル」「オートフィル」とクリックします。するとオートフィルの状態になって、小さな逆三角が出ますね。品名の方の三角をクリックして、例えば「イチゴ」をクリックすると、イチゴの価格データがでます。そしてこの状態で価格部分を選択して、あらかじめ用意しておいた(下の表の)イチゴの横に貼り付けます。貼り付ける場合は「形式を選択して貼り付け」を選び表われたメニュウの下のほうの「行列を入れ替える」にチェックを入れておく。これを2000についてやることになります。(オートフィルの解除はオートフィルにした動作をくりかえします)しんどいですが参考までに・・・ A B 1 600円 イチゴ 2 550円 みかん 3 380円 イチゴ 4 400円 りんご 5 650円 イチゴ 6 250円 りんご 1 イチゴ 600円 380円 650円 2 みかん 3 りんご
お礼
自動でできるものを探していますが、今回の回答ありがとうございました。
お礼
とても貴重な回答ありがとうございました。
補足
可能であればVBAでのプログラムの作り方を教えて頂けないでしょうか。重複の無い表は手作業で作成済みなので、品目の隣の空セルに入れたいと思いますがどうでしょうか。宜しくお願いします。