スプレッドシートのISURL関数の使い方|URL判定

スポンサーリンク

「このセルに入っているのはURLなの? ただの文字列なの?」を目視で確認していませんか。

数件なら見ればわかりますが、数百行のリストになると見落としやミスが出てきます。

スプレッドシートにはセルの値がURLかどうかを一発で判定できるISURL関数があります。

この記事では、ISURL関数の基本から実務で使える活用パターンまでまとめて紹介します。

スプレッドシートのISURL関数とは?

ISURL関数(読み方: いず ゆーあーるえる)は、指定した値が有効なURL形式かどうかを判定する関数です。

名前は英語の「IS URL(URLですか?)」からきています。

対象がURL形式であれば TRUE を返し、URL形式でなければ FALSE を返します。

ISURL関数にできることをまとめると、次のとおりです。

  • セルの値がURL形式かどうかをTRUE/FALSEで返す
  • IF関数と組み合わせてURLの有無で処理を分岐する
  • HYPERLINK関数と組み合わせて安全にリンクを作成する
  • FILTER関数でURL入りの行だけ抽出する

NOTE

ISURL関数はGoogleスプレッドシート独自の関数です。Excelには存在しないので注意してください。

ISURL関数の書き方(構文と引数)

基本構文

=ISURL(値)

カッコの中にURLかどうか判定したい値を指定します。

引数の説明

引数必須/任意説明
必須URLかどうか判定したい文字列またはセル参照

引数は1つだけです。省略はできません。セル参照・直接値・数式の結果のいずれも指定できます。

TIP

ISURL関数は「http://」「https://」「ftp://」などのプロトコルで始まる文字列を URL と判定します。プロトコルがない「example.com」のような文字列は FALSE になりますよ。

ISURL関数の基本的な使い方

まずはシンプルな例で動きを確認してみましょう。

値の種類ごとの判定結果

さまざまなデータをISURL関数で判定すると、次のような結果になります。

数式結果理由
=ISURL("https://example.com")TRUEhttps:// で始まる有効なURL形式
=ISURL("http://example.com")TRUEhttp:// で始まるURL形式もTRUE
=ISURL("ftp://files.example.com")TRUEftp:// プロトコルも対応
=ISURL("example.com")FALSEプロトコルがないため FALSE
=ISURL("こんにちは")FALSEURLではない通常の文字列
=ISURL("")FALSE空文字はFALSE
=ISURL(123)FALSE数値はFALSE

プロトコル(https://http://)が付いているかどうかが判定のカギになります。

セル参照で判定する

セル参照を使えば、特定のセルの値がURLかどうかを確認できます。

=ISURL(A1)

A1 に「https://example.com」が入っていれば TRUE を返します。「ただの文字列」なら FALSE です。

数式の結果を判定する

ISURL関数の引数に数式を直接入れることもできます。

=ISURL(A1&B1)

A1 に「https://」、B1 に「example.com」が入っていれば、結合した結果「https://example.com」がURL形式なので TRUE になります。

ISURL関数の実践的な使い方・応用例

IF関数と組み合わせてURL有無を表示する

リストの中にURLが含まれているかどうかをラベルで表示したい場面で使えます。

=IF(ISURL(A2),"URL","URL以外")

A2 がURL形式なら「URL」と表示します。そうでなければ「URL以外」です。

アンケート回答やフォーム入力のデータチェックに便利ですよ。

HYPERLINK関数と組み合わせて安全にリンクを作成する

URLが入っているセルにだけリンクを付けたい場面があります。URL以外のセルにHYPERLINK関数を使うとエラーになるので、事前にISURL関数で判定しておくと安心です。

=IF(ISURL(A2),HYPERLINK(A2,"リンクを開く"),"URLなし")

A2 がURL形式のときだけクリック可能なリンクを作成します。URL以外なら「URLなし」と表示します。

FILTER関数でURLが入った行だけ抽出する

大量のデータからURLが含まれている行だけを取り出したいときに活用できます。

=FILTER(A2:B20,ISURL(A2:A20))

A列にURL形式の値がある行だけが抽出されます。参考サイトリストの整理などに使えますよ。

URLの件数をカウントする

リストの中にURLがいくつ含まれているかを数えたいときは、COUNTIF関数の代わりにCOUNTIFS関数とISURL関数を組み合わせます。

=SUMPRODUCT(1*ISURL(A2:A100))

ISURL関数が各セルに対してTRUE/FALSEの配列を返します。1* を掛けることでTRUE=1、FALSE=0に変換されるため、合計がURLの件数になります。

データクレンジングでURL以外を除外する

フォームの「WebサイトURL」欄に、URLではない値(会社名や「なし」など)が混ざっていることがあります。ISURL関数で正しい入力かどうかを検証できます。

=IF(ISURL(A2),A2,"要確認: URL形式ではありません")

URL形式ならそのまま表示し、そうでなければ警告メッセージを出します。入力データの品質チェックに役立ちますよ。

よくあるエラーと対処法

ISURL関数で「思った結果にならない」ケースをまとめました。

症状原因対処法
URLなのに FALSE になるプロトコル(https:// 等)が付いていない="https://"&A1 でプロトコルを補完してから判定する
空白セルで FALSE が返る空白はURL形式ではない仕様どおりの動作。空白を別扱いしたい場合は =IF(A1="","未入力",ISURL(A1))
数値セルで FALSE が返る数値はURL形式ではない文字列として入力されているか確認する
不正なURLでも TRUE になるISURL関数はURL形式かどうかだけを判定するリンク先が存在するかどうかは判定できない。形式チェック専用と割り切る
HYPERLINK付きセルで FALSE になるHYPERLINK関数で表示テキストが設定されている表示テキストがURL形式でない場合はFALSEになる。元のURLを別セルに保持しておくと安心

TIP

ISURL関数はURL形式のチェック専用です。リンク先が実際に存在するか(404かどうか)までは判定できません。あくまで「URLっぽい文字列か?」を確認する関数として使いましょう。

Excelとの違い

ISURL関数はGoogleスプレッドシート独自の関数です。Excelには同等の関数が存在しません。

項目ExcelGoogleスプレッドシート
ISURL関数なしあり
URL判定の代替手段数式で自作する必要があるISURL関数で一発判定

ExcelでURLかどうかを判定したい場合は、FIND関数やLEFT関数を組み合わせて自作する方法があります。

=OR(LEFT(A1,8)="https://",LEFT(A1,7)="http://")

ただし、この方法はプロトコル部分しかチェックできないため、スプレッドシートのISURL関数ほど正確ではありません。

ExcelファイルをGoogleスプレッドシートに変換して使う場合、ISURL関数を含む数式はExcelでは動作しない点に注意してください。

まとめ

ISURL関数は、セルの値がURL形式かどうかを判定するシンプルな関数です。

ポイントを整理します。

  • 構文は =ISURL(値) で、引数は1つだけ
  • URL形式なら TRUE、そうでなければ FALSE を返す
  • 「https://」「http://」「ftp://」などプロトコル付きの文字列がTRUEになる
  • プロトコルなしの「example.com」はFALSEになる
  • IF関数と組み合わせてURLの有無で処理を分岐するのが定番パターン
  • HYPERLINK関数と組み合わせれば、安全にリンクを作成できる
  • Googleスプレッドシート独自の関数で、Excelには存在しない
  • URLの形式チェック専用で、リンク先の存在確認はできない

まずは =ISURL("https://example.com") で TRUE が返ることから試してみてください。


関連記事

タイトルとURLをコピーしました