- ベストアンサー
Excelシート間のデータ抽出と置き換え
- Excelシート間のデータ抽出と置き換えする方法について説明しました。
- AとBのシートを比較して、同じ単語のあるセルがBにもあった場合には、特定セルの内容をBの該当行にコピーする方法を紹介しました。
- 検索語を無視して、一括でデータを置き換える方法についても説明しました。
- みんなの回答 (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で置換のダイアログを出して スペース を 何も記入しない にすべて置換して、スペースを除去しておきます。 #参考 いわずもがなですが、関数で「ほかのセルに結果を表示させる」といった事はエクセルにはできません。 関数を事前にセルに埋めて置く事もしたくないのでしたら、あきらめてマクロを使うほかありませんが、通常は上述のようにふつーに関数を使います。
その他の回答 (1)
- h_flower
- ベストアンサー率48% (65/135)
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)))
お礼
早速のご回答ありがとうございました。 私の説明が悪かったと思いますが、 シート2のB列にデータが取得できませんでした。 然しながら、私の為に時間を割いていただことにお礼申し上げます。
お礼
keithin様 ベストなご回答ありがとうございました。 お蔭様で、自分の望む結果を取得することができました。 こんなに早く解決できると思っていませんでした。 大感謝です! 素晴しい回答者様に出会えた事を幸運に思います。