概要
Excelで「URLからドメイン部分だけを取り出したい」ときは、MID関数+SEARCH関数の組み合わせが便利です。SEARCHで「//」や「/」の位置を探し、MIDでその間の文字列を切り出すことで、ドメイン部分を抽出できます。Webデータの整理やアクセスログの分析に役立ちます。
基本の使い方
書式
=MID(URLセル, SEARCH("//",URLセル)+2, SEARCH("/",URLセル,SEARCH("//",URLセル)+2) - (SEARCH("//",URLセル)+2))
SEARCH("//",URLセル):URL内の「//」の位置を取得+2:その直後から文字を取り出すために調整SEARCH("/",URLセル,SEARCH("//",URLセル)+2):次の「/」の位置を取得MID:開始位置と文字数を指定してドメイン部分を抽出
具体例
URLからドメインを抽出
=MID("https://www.example.com/page", SEARCH("//","https://www.example.com/page")+2, SEARCH("/","https://www.example.com/page",SEARCH("//","https://www.example.com/page")+2) - (SEARCH("//","https://www.example.com/page")+2))
結果は「www.example.com」。
セル参照で使う
=MID(A2, SEARCH("//",A2)+2, SEARCH("/",A2,SEARCH("//",A2)+2) - (SEARCH("//",A2)+2))
A2が「https://abc.co.jp/index.html」なら結果は「abc.co.jp」。
サブドメイン付きURL
=MID(B2, SEARCH("//",B2)+2, SEARCH("/",B2,SEARCH("//",B2)+2) - (SEARCH("//",B2)+2))
B2が「http://shop.example.org/products」なら結果は「shop.example.org」。
応用テンプレート
ドメインだけでなくプロトコルも取得
=LEFT(A2,SEARCH("//",A2)-1)
「https://www.example.com」から「https」を抽出。
ドメイン以降のパス部分を抽出
=RIGHT(A2,LEN(A2)-SEARCH("/",A2,SEARCH("//",A2)+2)+1)
「https://www.example.com/page」から「/page」を抽出。
IFERRORでエラー対策
=IFERROR(MID(A2,SEARCH("//",A2)+2,SEARCH("/",A2,SEARCH("//",A2)+2)-(SEARCH("//",A2)+2)),"ドメインなし")
URLに「/」がない場合は「ドメインなし」と表示。
よくあるつまずきと対策
URLに「/」が含まれない場合
ドメインの後に「/」がないとSEARCHがエラーになります。IFERRORで補うと安心です。
「//」がない場合
プロトコルが省略されたURL(例: www.example.com)では「//」が見つからずエラーになります。必要に応じて補正処理を追加しましょう。
サブドメインの扱い
「www」や「shop」なども含めて抽出されます。トップドメインだけ欲しい場合はさらに文字列処理が必要です。
例題
問題1: A2セルの「https://www.example.com/page」からドメイン部分をB2に表示してください。
解答例:
=MID(A2,SEARCH("//",A2)+2,SEARCH("/",A2,SEARCH("//",A2)+2)-(SEARCH("//",A2)+2))
問題2: C2セルの「http://abc.co.jp/index.html」からドメイン部分をD2に表示してください。
解答例:
=MID(C2,SEARCH("//",C2)+2,SEARCH("/",C2,SEARCH("//",C2)+2)-(SEARCH("//",C2)+2))
問題3: E2セルの「http://shop.example.org/products」からドメイン部分をF2に表示してください。
解答例:
=MID(E2,SEARCH("//",E2)+2,SEARCH("/",E2,SEARCH("//",E2)+2)-(SEARCH("//",E2)+2))
問題4: G2セルのURLからプロトコル部分(httpやhttps)をH2に表示してください。
解答例:
=LEFT(G2,SEARCH("//",G2)-1)
問題5: I2セルのURLからドメイン以降のパス部分をJ2に表示してください。
解答例:
=RIGHT(I2,LEN(I2)-SEARCH("/",I2,SEARCH("//",I2)+2)+1)
まとめ
URLからドメインを抽出するには MID+SEARCH の組み合わせが基本です。
- 「//」の位置を探す
- その直後から「/」までを切り出す
- IFERRORでエラー対策を加える
この流れを覚えれば、Webデータの整理やログ分析で大きな力になります。講師として強調したいのは「SEARCHで位置を特定し、MIDで切り出す」という考え方。これを習得すれば、Excelでの文字列処理がさらに自在になります。
