dポイントプレゼントキャンペーン実施中!

AとBのシートを比較して、
Aと同じ単語のあるセルがBにもあった場合には、
該当単語のある行から、特定セルの内容を、
Bのシートの該当行(同単語のある行)の特定場所にコピーする。

説明がヘタですみません。


例を挙げますと、

<Aのシート>
A1:あ B1:Goo
A2:い B2:Yahoo
A3:う B3:Google

<Bのシート>
A1:あ B1:データなし
A2:か B2:データなし
A3:さ B3:データなし

この様な場合、
AシートA1のデータ"あ"は、BシートのA1にもありますので、
その場合には、B1データの"Goo"を
BシートのB1にコピーし

<Bのシート>
A1:あ B1:Goo
A2:か B2:データなし
A3:さ B3:データなし

と、なるようすることを関数だけで行うことは可能なのでしょうか。


自分なりに色々調べてみたのですが、該当例を探すことができませんでした。
ご存知の方がいらっしゃいましたらご教授ください。


補足説明といたしまして、
データは全て文字です。
B1のシート内で検索データが重複することはありません。
検索語(検索対象語)の文字列にスペース(半角・全角共)含まれていた場合
そのスペースは検索対象から除外(無視)して認識する。
検索語は複数あります。
できれば、一括で行いたいのですが、それですとVBAでないと無理でしょうか。


宜しくお願いいたします。


教えてGooさんの枠を超えた質問であれば申し訳ありません。

A 回答 (2件)

ごく一般には


Sheet1のA,B列に元データがあるときに
Sheet2のA列にデータを記入
その隣の
B1セル:
Excel2007以降を使っているなら
=IFERROR(VLOOKUP(TRIM(A1),Sheet1!A:B,2,FALSE),"")

そうでないなら
=IF(A1="","",IF(COUNTIF(Sheet1!A:A,TRIM(A1)),VLOOKUP(TRIM(A1),Sheet1!A:B,2,FALSE),""))

のように記入して、以下コピーして埋めておいて結果を表示させます。


#補足
シート1には事前に「余計なスペースとかは除去した状態」でデータを整備しておきます。
それをこれからやらなきゃならないという意味での補足説明でしたら、シート1でctrl+Hで置換のダイアログを出して
スペース

何も記入しない
にすべて置換して、スペースを除去しておきます。



#参考
いわずもがなですが、関数で「ほかのセルに結果を表示させる」といった事はエクセルにはできません。
関数を事前にセルに埋めて置く事もしたくないのでしたら、あきらめてマクロを使うほかありませんが、通常は上述のようにふつーに関数を使います。
    • good
    • 1
この回答へのお礼

keithin様

ベストなご回答ありがとうございました。
お蔭様で、自分の望む結果を取得することができました。

こんなに早く解決できると思っていませんでした。
大感謝です!

素晴しい回答者様に出会えた事を幸運に思います。

お礼日時:2012/04/26 13:45

vlookup関数ですね。



BシートのB列(B1~B3)に以下のように書きます。

=VLOOKUP(A1,A!A:B,2,FALSE) ←B1セルに書く内容
=VLOOKUP(A2,A!A:B,2,FALSE) ←B2セルに書く内容
=VLOOKUP(A3,A!A:B,2,FALSE) ←B3セルに書く内容

ただ、これでは一致しない場合に「#N/A」と出てしまうので
ちょっと長いですが、以下のようにすると回避できます。

=IF(ISERROR(VLOOKUP(A1,A!A:B,2,FALSE)),"",(VLOOKUP(A1,A!A:B,2,FALSE)))
=IF(ISERROR(VLOOKUP(A2,A!A:B,2,FALSE)),"",(VLOOKUP(A2,A!A:B,2,FALSE)))
=IF(ISERROR(VLOOKUP(A3,A!A:B,2,FALSE)),"",(VLOOKUP(A3,A!A:B,2,FALSE)))
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
私の説明が悪かったと思いますが、
シート2のB列にデータが取得できませんでした。

然しながら、私の為に時間を割いていただことにお礼申し上げます。

お礼日時:2012/04/26 13:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!