今、bookAとbookBがあります。
bookAのP列に、空白セルを無視しますと、4行目から10000行ぐらい文字列があります。
同じくQ列にも、4行目から10000行目ぐらいまで文字列があります。
この状態から、bookAのP列の4行目の文字列をコピーしまして。(仮に“りんご”とします)
“りんご”がbookBのB列のどこにあるか探します。すると3行目から20行目ぐらい同じデータがありました。
ここにおいて、4行目から20行目までは無視し、3行目の“りんご”にヒットしましたら。
そのセルから右に20列(V列)、下に1行移動したセルに対して。
bookA“りんご”の隣にあるセルのデータ(Q列4行目)を、貼り付けたいのです。
こういった処理を、P列の5行目、6行目、7行目…と、データが無くなる10000行目辺りまで行いたいです。
効率的にマクロ等でできたらよいのですが…お力添えをいただけますと幸いです。
よろしくお願いいたしますm(__)m
bookBのV列に、bookAのデータを探す式を埋める形ではどうでしょうか。
仮にbookAのファイル名を「bookA.xlsx」、シート名を「Sheet1」とします。
1)bookBのセルV2に次の式を入れます。
=IFERROR(VLOOKUP(B1,[bookA.xlsx]Sheet1!$P$4:$Q$10000,2,FALSE),"")
2)bookBのセルV3に次の式を入れます。
=IF(B2<>B1,IFERROR(VLOOKUP(B2,[bookA.xlsx]Sheet1!$P$4:$Q$10000,2,FALSE),""),"")
3)bookBのセルV3を選択してコピーし、V4以下(B列のデータの終わり+1行目まで)に式として貼り付けます。
空白の扱いや、同じ内容が出てきた場合の動きなど、ご所望のものとは違うかもしれませんが……
独自にエクセルファイルを作ってみましたので
次のURLからダウンロードしてください。
http://firestorage.jp/download/ffc2f7c55c1bfac015a044cd2982aa3b5015b4d1
着色したセルに関数の数式を入れています
VLOOKUP関数を使用すれば可能ですが
質問の意味が読み取れない箇所があったかもしれませんので
何か気づかれましたらコメントしてください