エクセルでセル内の文字列から URL を抽出

はじめに

正確には、セルからダブルクウォーテーション(”)で囲まれた文字列を抽出する関数になります。
仕事で HTML タグが含まれている文字列で、URL 部分のみを抽出する必要があり、この関数に行きつきました。
マクロを使えば、もっとスマートにできると思います。

関数の実行例

関数

セル「A2」の文字列から、ダブルクォーテーションで囲まれた文字列を抽出する場合の例です。
この関数を実行したセルに、抽出結果が表示されます。

=(MID(A2,FIND("""",A2)+1,FIND("""",A2,FIND("""",A2)+1)-(FIND("""",A2)+1)))

出力例

抽出対象の文字列抽出結果
<a href=”https://news.yahoo.co.jp/pickup/6430129″ data-cl-params=”_cl_vmodule:tpc_maj;_cl_link:title;_cl_position:1;” data-ual-gotocontent=”true” class=”sc-gGBfsJ gxucLD” data-cl_cl_index=”38″>参院選あす公示 物価高の対策争点</a>https://news.yahoo.co.jp/pickup/6430129
最初のダブルクォーテーションに囲まれた文字列しか抽出できない点にご注意ください。

解説

MID 関数

構文は次のとおりです。

=MID(文字列,開始位置,文字数)
  • 文字列:元の文字列(セルを指定可能)
  • 開始位置:抽出の開始位置
  • 文字数:抽出する文字数

FIND 関数

=FIND(検索文字列,対象,開始位置)
  • 文字列:検索する文字列(セルを指定可能)
  • 対象:検索対象となる文字列(セルを指定可能)
  • 開始位置:検索の開始位置(先頭から検索する場合、省略可能)

以上