• ベストアンサー

エクセルである文字のあるセルだけを抽出したい

EXEL2003です。 A列にURLがずらりと入っています。 この中で、あるキーワード(例:abc)があるセルだけを B列に抽出したいのですが、 どうすればよいでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuma3f
  • ベストアンサー率63% (28/44)
回答No.3

抽出したいキーワード(文字列)が自由にできるようにマクロでされてはどうでしょうか。 参考までに試してみてください。 Altキー押しながらF8キーを押します。  ↓ マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:抽出)  ↓ 名前を入力しましたら、「作成」をクリック  ↓ Microsoft Visual Basicの画面が開きますのでSub 抽出()の下に次のコードをコピーして貼り付けてください。 Dim シート名, 抽出文字 As String Dim カウント, 最大行, HITカウント As Long 抽出文字 = InputBox("抽出したい文字列を入力してください。") 抽出文字 = "*" & 抽出文字 & "*" シート名 = ActiveSheet.Name Sheets(シート名).Range("A65536").End(xlUp).Select 最大行 = ActiveCell.Row Sheets(シート名).Columns("B:B").ClearContents カウント = 1 HITカウント = 1 Do If Sheets(シート名).Cells(カウント, 1) Like 抽出文字 Then Sheets(シート名).Cells(HITカウント, 2) = Sheets(シート名).Cells(カウント, 1) HITカウント = HITカウント + 1 End If カウント = カウント + 1 Loop Until カウント > 最大行 MsgBox "抽出しました" ****コピー貼り付けはここまで **** Microsoft Visual Basicの画面を×で閉じます。 使い方は、Altキー押しながらF8キーを押します。 マクロのダイアログが表示されるので先ほど名前を付けたマクロを選択して「実行」をクリック。 (選択されている状態でしたら、そのままEnterキーで実行されます。) 抽出したい文字列を聞いてきますので入力してください。B列に抽出されると思います。

その他の回答 (2)

  • Bickyon
  • ベストアンサー率41% (42/101)
回答No.2

B1に =IF(ISERROR(FIND("abc",A1,1)),"",A1) でB2以下にコピー FIND関数は大文字/小文字が区別されます。 区別無く抽出するなら =IF(ISERROR(FIND("ABC",UPPER(A1),1)),"",A1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 (1)A列の先頭に見出し行を挿入 (2)C1に見出し行の項目名、C2に*abc* (3)B1を選択→データ→フィルタ→フィルタオプションの設定で以下の内容を設定→OK   ・指定した範囲にチェック   ・リスト範囲欄にA:A   ・検索条件範囲欄に$C$1:$C$2   ・抽出先に$B$1