Excelブックがあり、列Aの各セルには、サイト(つまり、1 つのセルに数百の URL が含まれることになります)。
1つのセル内のすべてのURLの中から、次の単語を含むURLだけを抽出したい。接触
例えば:
セル A1:http://examplesite.com/index.html; http://examplesite.com/login.php; http://examplesite.com/contact.html; http://examplesite.com/about.html
セル A2:http://hello.publish.com/alumni; http://hello.publish.com/contact-us; http://hello.publish.com/sitemap; http://hellopublish.com/projects
等々
この出力を列Bに表示したい
セル B1: http://examplesite.com/contact.html
セル B2: http://hello.publish.com/contact-us
答え1
以下を試してくださいあなたサーだ洗練されたふ塗油(UDF):
Public Function FindContact(inpt As String) As String
ary = Split(inpt, "; ")
For Each a In ary
If InStr(1, a, "contact") > 0 Then
FindContact = a
Exit Function
End If
Next a
FindContact = ""
End Function
ユーザー定義関数 (UDF) はインストールも使用も非常に簡単です。
- ALT-F11でVBEウィンドウが開きます
- ALT-I ALT-Mで新しいモジュールを開く
- 内容を貼り付けてVBEウィンドウを閉じます
ワークブックを保存すると、UDF も一緒に保存されます。2003 以降のバージョンの Excel を使用している場合は、ファイルを .xlsx ではなく .xlsm として保存する必要があります。
UDF を削除するには:
- 上記のようにVBEウィンドウを開きます
- コードを消去する
- VBEウィンドウを閉じる
Excel から UDF を使用するには:
=連絡先を検索(A1)
マクロ全般の詳細については、以下を参照してください。
http://www.mvps.org/dmcritchie/excel/getstarted.htm
そして
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
UDF の詳細については、以下を参照してください。
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
これを機能させるにはマクロを有効にする必要があります。
答え2
すべてのデータは垂直に下がっていくので、コマンドは コマンドですVLookup
。まず、B 列で、1 から始まり最後まで続く各 URL の識別子を設定します。これを行うには、隅にある黒い点を、最後の URL に達するまでずっと下にドラッグします。例: VLookup("contact",$A1:$B13,2,TRUE)
。