URLからドメインを抽出する前に、まず必要な結果を明確にしましょう。hostnameはサブドメインを保持するため、https://shop.example.co.uk/productsはshop.example.co.ukになります。一方、base domainではサブドメインが削除され、example.co.ukだけが残ります。以下のスプレッドシート数式はhostnameを抽出し、先頭のwww.を削除します。AIを使う方法では、base domainを指定して抽出し、結果を確認する手順をご紹介します。

この違いは、Webサイトへのアクセスをグループ化したり、企業データを照合したりする際に重要です。末尾から2つのドットだけを基準に前方を削除すると、example.co.ukがco.ukになってしまいます。これは企業のドメインではありません。

必要な出力に合う方法をお選びください。

方法1:Excel関数でURLからドメインを抽出

それでは始めましょう。 最初にご紹介するのは、Microsoft Excelを使う方法です。 URLをExcelシートにインポートするか、貼り付けてください。

ドメインを抽出したいURLのリスト
ドメインを抽出したいURLのリスト

次に、http://またはhttps://を含むURLからhostnameを抽出するため、別のセルに以下の数式を貼り付けます。

使用する数式: =SUBSTITUTE(LEFT(MID(B5,FIND("//",B5)+2,LEN(B5)),FIND("/",MID(B5,FIND("//",B5)+2,LEN(B5))&"/")-1), "www.", "")

URLからドメイン名を抽出する数式
URLからドメイン名を抽出する数式

「ENTER」を押して、セルに数式を適用します。

URLから抽出したドメイン
URLから抽出したドメイン

この数式の仕組み

  • FIND("//", B5)+2
    • ://の位置を特定し、その直後まで移動します(例:https://)
    • これにより、ドメイン部分の開始位置が決まります
  • MID(B5, FIND(...) + 2, LEN(B5))
    • ://の後ろからURLの末尾までを抽出します
    • ドメインやパスなどが含まれます
  • FIND("/", ..., &"/")
    • ドメインの後ろにある最初の/を探します
    • &"/"を追加することで、元のURLに/がなくても動作し、#VALUEエラーを防ぎます
  • LEFT(..., ..., -1)
    • MIDの結果から、最初の/より前にあるドメイン部分だけを切り出します
  • SUBSTITUTE(..., "www.", "")
    • 抽出した文字列からwww.を削除します。その他のサブドメインは削除されません

最後に、次の画像のようにセル右下の角を下へドラッグし、URLリスト全体に数式を適用します。

URLリスト全体から抽出したドメイン
URLリスト全体から抽出したドメイン

💡 入力データを確認: この数式は//を含むURLを前提とし、その後に現れる最初の/をhostnameの終端として扱います。下まで数式をコピーする前に、schemeのないURLや、パスがなくqueryだけを含むURLをご確認ください。https://shop.example.com/pageから抽出されるのはexample.comではなく、shop.example.comです。

方法2:Google SheetsのREGEXREPLACEでドメインを抽出

Google Sheetsには=REGEXREPLACE()関数が組み込まれており、URLからドメインを抽出できます。

この数式はhostnameを抽出し、先頭のwww.を削除します。その他のサブドメインは削除されません。

まず、URLリストをA列にインポートするか、貼り付けてください。

Google Sheetsに入力したURLリスト
Google Sheetsに入力したURLリスト

URLの隣にあるB列へ、以下の数式を追加します。

=LOWER(REGEXREPLACE(REGEXEXTRACT(A2,"^(?:https?://)?([^/?#]+)"),"^www\.",""))

Google Sheetsでドメインを抽出するREGEXREPLACE数式
Google Sheetsでドメインを抽出するREGEXREPLACE数式

「ENTER」を押して、セルに数式を適用します。

Google SheetsでURLから抽出したドメイン名
Google SheetsでURLから抽出したドメイン名

この数式の仕組み

  • REGEXEXTRACTは、省略可能なhttp://またはhttps://の後ろから、最初のパス、query、fragmentの区切り文字までを取得します。
  • REGEXREPLACEは、hostnameの先頭にある場合に限りwww.を削除します。
  • LOWERは、抽出結果を小文字に統一して照合しやすくします。

https://shop.example.co.uk/productsの場合、結果はshop.example.co.ukです。ポート、認証情報、一般的でないschemeを含むURLは、企業の照合キーとして使用する前に個別にご確認ください。

次に、セル右下の角を下へドラッグして、リスト全体に数式を適用します。

Google SheetsのURLリストから抽出したドメイン
Google SheetsのURLリストから抽出したドメイン

スクリーンショットは、サンプルリストの出力結果です。サブドメインを除いたbase domainが必要な場合は、public suffixに対応したparser、または以下でご紹介する確認付きのAIワークフローをご利用ください。

方法3:AIでURLからドメイン名を抽出

続いて、AIを使ってこの作業をさらに効率化する方法を見ていきましょう。

以下の動画では、URLリストにAI Editingを使用するワークフローをご覧いただけます。

この例では、Datablistを使って変換スクリプトを生成し、出力をpreviewします。

数式や複雑なコードは必要ありません。promptを1つ入力するだけで実行できます。

AIでURLからドメインを抽出する手順

まず、Datablistに登録します。

Datablistのホームページ
Datablistのホームページ

次に、ドメインを抽出したいURLが入ったファイルをインポートしてください。

Datablistのスタートページ
Datablistのスタートページ

ファイルをアップロードしたら、Editをクリックし、AI Editingを選択します。

Datablistのユーザーインターフェースと編集機能
Datablistのユーザーインターフェースと編集機能

hostnameとbase domainのどちらが必要かを明確に指定したpromptを入力します。

URLからドメインを抽出するprompt
URLからドメインを抽出するprompt

URLリストからドメイン名を取得するpromptはこちらです:

{{URL}}のURLを読み取り、登録可能なbase domainを新しいpropertyに書き込んでください。先頭のwwwとその他のサブドメインは削除しますが、public suffixは残してください。たとえば、shop.example.co.ukはexample.co.ukに、app.example.comはexample.comに変換します。無効なURLまたはURLがない場合は、確認できるよう空欄にしてください。

変更を適用する前にpreviewを確認します。www付きのURL、別のサブドメイン、.co.ukのような国別suffix、schemeのないURLを例に含めてください。結果が正しくない場合は、すべてのitemに実行する前にpromptを調整します。

itemのpreviewを確認したら、Run on itemsをクリックし、すべてのitemに変更を適用します。

URLリストから抽出したドメインのAI生成preview
URLリストから抽出したドメインのAI生成preview

これで完了です。 スクリプトが実行され、企業URLのリストからすべてのドメイン名が抽出されました。

AIでURLから全ドメインを抽出するスクリプトを実行
AIでURLから全ドメインを抽出するスクリプトを実行

結果は次のようになります。

複雑な構造のURLからAIで抽出したドメイン名リスト
複雑な構造のURLからAIで抽出したドメイン名リスト

まとめ

hostnameだけで十分な場合は、スプレッドシートの数式が便利です。企業単位のbase domainが必要な場合は、リストをexportする前に複数のsuffixやedge caseを使ってAIの出力をテストしてください。

ドメイン抽出に関するFAQ

URLリストからドメインを抽出するおすすめツールは?

hostnameの抽出にはExcelまたはGoogle Sheetsをご利用いただけます。base domainには、public suffix対応のparser、または結果を確認できるAI変換が適しています。

スプレッドシートで不揃いなURLを整えるには?

パス、query、fragmentより前にあるhostnameを抽出します。その後、サブドメインを残すかどうかを決めてください。列全体に結果を適用する前に、schemeのないURLや国別suffixを含むURLでテストすることをおすすめします。

複数URLからドメイン名を一括抽出できますか?

はい。スプレッドシートの列全体に数式をコピーするか、URLをDatablistへインポートし、AI Editingスクリプトをcollection全体に実行する前にpreviewしてください。照合キーとして使用する際は、出力のサンプルを確認しておくと安心です。

URLからサブドメインを削除するには?

このガイドの数式で削除されるのはwww.だけです。任意のサブドメインを削除するには、まずpublic suffixを特定する必要があります。shop.example.co.ukはco.ukではなく、example.co.ukに変換しなければなりません。public suffix対応のparserを使うか、ご自身のデータ例でAI変換をpreviewしてください。

長いURLからサイト名をすぐに取得する方法は?

hostnameが必要であれば、スプレッドシートの数式が手軽です。base domainが必要な場合は、public suffixに対応したツールを使い、代表的なサンプルで出力をご確認ください。

専門知識なしでドメインを抽出するには?

URLの列をインポートし、上記のbase domain用promptをAI Editingに入力してpreviewを確認した後、collection全体に実行します。exportする前に、一般的でないsuffixや無効なURLもご確認ください。