スポンサーリンク

2016年6月25日土曜日

長いURLからドメインのみ取り出す方法

Excel2013で、長いURLからドメインのみ取り出す方法です。

下のURLからドメインを取り出します。
URLからドメインを取り出す

URLの先頭は「http://」か「https://」なので、FIND関数を使い先頭の9文字目から"/"を検索します。 これで先頭から3番目の「/」が検索できます。
LEFT関数を使い3番目の「/」までの文字を取り出します。
これで下のようにドメイン部分のURLを取り出すことができました。

=LEFT(B2,FIND("/", B2, 9))
FIND関数を使い先頭の9文字目から"/"を検索する

次にドメイン名だけを取り出してみます。

MID関数を使います。
開始文字位置は、先頭から「/」を検索し+2することで「://」の次の文字になります。
文字数は、3番目の「/」から1番目の「/」を引いて-2した数になります。

=MID(B2,FIND("/", B2, 1)+2,FIND("/", B2, 9)-FIND("/", B2, 1)-2)
ドメイン名だけを取り出す

上では「www.」が含まれているので、IF関数を使い「www.」が含まれているかどうかで、MID関数の開始文字位置を変更するようにします。

「www.」が含まれているかどうかはFIND関数で検索し、もし見つからなければエラーになるので、ISERROR関数で判定します。

「www.」が見つかれば見つかった位置から+4して取り出します。

=IF(ISERROR(FIND("www.", B2, 1)),MID(B2,FIND("/", B2, 1)+2,FIND("/", B2, 9)-FIND("/", B2, 1)-2),MID(B2,FIND("www.", B2, 1)+4,FIND("/", B2, 9)-FIND("www.", B2, 1)-4))
IF関数を使い「www.」が含まれているか判定する

関連する記事
関連する記事
文字列の左から指定した文字数を取り出すLEFT関数を使う
指定文字を検索し、見つかった位置から前の文字列を取り出す
IF関数の使用例
IF関数を使い条件式を作成する
0の場合空白にし、0でない場合元データを表示する