人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

2つのExcelのブックを比較して条件に一致したら書き換えを行いたい

今、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

●質問者: moon-fondu
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● セガビ
●1300ポイント ベストアンサー

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行目まで)に式として貼り付けます。

空白の扱いや、同じ内容が出てきた場合の動きなど、ご所望のものとは違うかもしれませんが……


moon-fonduさんのコメント
遅くなりましてすみません、ありがとうございます! うまく変換できました(^^;

セガビさんのコメント
良かったです!^^

2 ● Asayuri
●100ポイント


独自にエクセルファイルを作ってみましたので

次のURLからダウンロードしてください。

http://firestorage.jp/download/ffc2f7c55c1bfac015a044cd2982aa3b5015b4d1

着色したセルに関数の数式を入れています

VLOOKUP関数を使用すれば可能ですが

質問の意味が読み取れない箇所があったかもしれませんので

何か気づかれましたらコメントしてください


moon-fonduさんのコメント
ためして見たのですがどうもうまくデータを変換できず。Asayuriさんに作っていただいたファイルにの列に、データを貼り付けたりしてみたのですが…。

Asayuriさんのコメント
アップロードしてからダウンロードした2つのファイル間のリンクがとぎれてしまっていましたので、FAファイルのQ列を、FBファイルのC列へコピー&ペーストしてください。そうすれば、ご希望の変換ができると思います。 よろしくお願いします。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ