スプレッドシートのHYPERLINK関数の使い方|リンク作成を自動化

スポンサーリンク

スプレッドシートでセルにリンクを貼りたい。でも1つずつ右クリックで設定するのは面倒ですよね。

リンクが数十件になると、手作業では時間がかかります。URLを変更したいときも、ひとつずつ修正する羽目になります。

そんなときはHYPERLINK関数の出番です。数式でリンクを作れるので、コピーするだけで一括作成できます。

この記事では、スプレッドシートのHYPERLINK関数の基本から応用パターンまで紹介します。

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

HYPERLINK関数(読み方: ハイパーリンク関数)は、セルにクリック可能なリンクを作成する関数です。

名前のとおり、ハイパーリンク(Webページや別シートへのジャンプ機能)を数式で設定できます。

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

  • WebサイトのURLリンクを作成する
  • 同じスプレッドシート内の別シートへのリンクを作成する
  • メール作成画面を開くmailtoリンクを作成する
  • リンクの表示テキストを自由に設定する

右クリックの「リンクを挿入」と違い、数式なので一括管理が可能です。URLをセル参照にすれば、変更も1か所で済みますよ。

NOTE

HYPERLINK関数はGoogleスプレッドシートの全バージョンで利用可能です。Excelにも同名の関数がありますが、別シートリンクの書き方が異なります。

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

基本構文

=HYPERLINK(URL, [リンクラベル])

引数の説明

引数必須/任意説明
URL必須リンク先のURLやパス。文字列またはセル参照で指定する
リンクラベル任意セルに表示するテキスト。省略するとURL自体が表示される

第1引数にはWebサイトのURLだけでなく、別シートへのリンクやmailtoリンクも指定できます。

第2引数のリンクラベルは省略可能です。省略するとURLがそのまま表示されるので、テキストを設定しましょう。

基本的な使い方

WebサイトへのURLリンクをつくる

もっともシンプルな使い方は、Webサイトへのリンク作成です。

=HYPERLINK("https://example.com", "サンプルサイトを開く")

この数式を入力すると、セルに「サンプルサイトを開く」と青字で表示されます。クリックするとブラウザでサイトが開きます。

URLをセル参照にすることもできます。A列にURLを入力しておけば、次のように書けます。

=HYPERLINK(A2, "リンクを開く")

こうしておけば、URLを変更したいときはA列の値を書き換えるだけで済みます。

別シートへのリンクをつくる

スプレッドシートでは、同じファイル内の別シートへのリンクも作成できます。

ただし、Excelとは書き方が異なるので注意してください。スプレッドシートでは次のように書きます。

=HYPERLINK("#gid=0", "シート1へ移動")

#gid= のあとにシートのIDを指定します。シートIDの確認方法はこのあと説明しますね。

特定のセルにジャンプしたい場合は &range= を追加します。

=HYPERLINK("#gid=0&range=A1", "シート1のA1へ移動")

TIP

シートIDの確認方法: 対象シートのタブをクリックし、ブラウザのアドレスバーを見てください。URLの末尾に #gid=123456789 のような数字が表示されます。この数字がシートIDです。

実践的な使い方・応用例

メール作成リンク(mailto)をつくる

HYPERLINK関数でメール作成画面を開くリンクも作れます。mailto: プロトコルを使います。

=HYPERLINK("mailto:info@example.com", "お問い合わせメールを送る")

件名や本文を事前にセットしたい場合は、次のように書きます。

=HYPERLINK("mailto:info@example.com?subject=お問い合わせ&body=こんにちは", "メールを送る")

?subject= で件名、&body= で本文を指定できます。問い合わせ先の一覧表を作るときに便利ですよ。

URLを動的に生成する(&演算子・CONCATENATE関数)

リンク先のURLに規則性がある場合は、& 演算子で動的に生成できます。CONCATENATE関数でも同様です。

たとえばA列に商品コードが入っているとします。商品ページのURLが共通の形式なら、次のように書けます。

=HYPERLINK("https://example.com/products/"&A2, A2&"の詳細ページ")

& 演算子でURLの固定部分とセルの値を結合しています。商品コードが変わればリンク先も自動で変わります。

もう少し複雑な例として、検索結果ページへのリンクも作れます。

=HYPERLINK("https://www.google.com/search?q="&A2, A2&"を検索")

A2の値をGoogleで検索するリンクが一瞬で作れます。

一覧表のリンクを一括作成する

HYPERLINK関数の真価は、一覧表でのリンク一括作成です。

B列にURL、C列にリンクテキストが入った一覧表があるとします。D2に次の数式を入力してください。

=HYPERLINK(B2, C2)

D2をそのまま下にコピーすれば、全行のリンクが一括で作成されます。100件でも1000件でも、数秒で完了です。

TEXT関数と組み合わせれば、表示テキストも整えられますよ。

よくあるエラーと対処法

HYPERLINK関数自体がエラーを返すことはほとんどありません。ただし、意図どおりに動かないケースはあります。

症状原因対処法
リンクをクリックしても開かないURLの先頭に https:// がないURLに https:// を付ける
別シートリンクが動かない#Sheet名!A1 と書いている(Excel形式)#gid=シートID 形式に書き換える
表示テキストがURLのまま第2引数を省略している第2引数にリンクラベルを指定する
リンクが青字にならないセルの書式が手動で変更されている書式をクリアして数式を再入力する
日本語URLが文字化けするURLエンコードされていないENCODEURL関数で変換してから渡す

https:// を付け忘れるケースが一番多いです。プロトコル指定がないとリンクになりません。

別シートリンクはExcel形式で書いてしまいがちです。#gid= 形式に書き換えてください。

右クリックの「リンクを挿入」との違い

スプレッドシートには、右クリック(またはCtrl+K)でリンクを挿入する方法もあります。それぞれの違いを整理しましょう。

比較項目HYPERLINK関数右クリック(リンクを挿入)
一括作成数式コピーで可能1セルずつ手動設定
URL変更セル参照で一括変更可能1つずつ編集が必要
条件分岐IF関数と組み合わせ可能不可
見た目数式バーに式が見えるリンク設定が見えにくい
操作の手軽さ関数の知識が必要マウス操作だけで完了

少数のリンクなら右クリックで十分です。でもリンクを一括で作りたいときはHYPERLINK関数が断然便利ですよ。

NOTE

HYPERLINK関数と右クリックのリンクは併用できます。HYPERLINK関数で作ったリンクの上に右クリックでリンクを設定すると、右クリック側が優先されるので注意してください。

まとめ

HYPERLINK関数を使えば、スプレッドシートのリンク作成を数式で自動化できます。

ポイントをまとめると次のとおりです。

  • 基本構文は =HYPERLINK(URL, リンクラベル) の2引数
  • 別シートリンクは #gid=シートID 形式で指定する
  • & 演算子やCONCATENATE関数でURLを動的に生成できる
  • mailtoリンクで件名・本文付きのメール作成画面も開ける
  • 一覧表にコピーすれば、リンクを一括作成できる

右クリックでの手動設定に比べて、管理も修正もずっとラクです。リンクが多い資料を作るときは、ぜひ活用してみてください。

関連記事

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