「セルをクリックしたら別シートに飛べるようにしたい」
「リンク一覧をExcelで管理したいけど、手作業で1つずつ設定するのは面倒」
こんな場面、ありませんか?
ExcelのHYPERLINK関数を使えば、数式でリンクを一括管理できます。
Webサイトだけでなく、別シートへのジャンプやフォルダを開く操作、
メール作成まで1つの関数でカバーできますよ。
この記事では、HYPERLINK関数の基本から5種類のリンク先の使い方、
実務で役立つ応用テクニックまで具体例つきで解説していきます。
HYPERLINK関数とは?
読み方・語源
読み方は「ハイパーリンク」です。
「Hyper(超える)」+「Link(つなぐ)」が語源で、
テキスト同士を相互につなぐ仕組みを意味します。
HYPERLINK関数でできること
HYPERLINK関数は、セルにリンクを埋め込む関数です。
セルをクリックすると指定した場所にジャンプできます。
リンク先として指定できるのは、次の5種類です。
- Webサイト(URL)
- 同じブック内の別シート
- 別のブック(ファイル)
- フォルダ
- メール作成(mailto)
右クリックで設定するハイパーリンクとは違い、
数式なのでコピーや一括変更がしやすいのが特徴です。
NOTE
HYPERLINK関数はExcel 2003以降のすべてのバージョンで使えます。Microsoft 365やExcel Onlineにも対応しています。
ExcelのHYPERLINK関数の基本的な使い方
構文と引数
=HYPERLINK(リンク先, [別名])
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| リンク先 | 必須 | ジャンプ先のURLやパス。文字列はダブルクォーテーションで囲む |
| 別名 | 任意 | セルに表示するテキスト。省略するとリンク先がそのまま表示される |
「別名」を指定すると、長いURLの代わりにわかりやすい文字列を表示できます。
省略した場合はURLがそのまま表示されるので、基本的には指定するのがおすすめです。
Webサイトへのリンクを作る
まずは一番シンプルな例として、Webサイトへのリンクを作ってみましょう。
=HYPERLINK("https://www.example.com", "サンプルサイトを開く")
セルには「サンプルサイトを開く」と青い下線つきで表示されます。
クリックするとブラウザが開いて、指定したURLに移動します。
リンク先をセル参照にすることもできます。
A1セルにURLが入っている場合は次のように書きます。
=HYPERLINK(A1, "リンクを開く")
URLの一覧があるときは、この書き方でまとめてリンクを作れますよ。
リンク先5種類の書き方と実務パターン
HYPERLINK関数のリンク先は5種類あります。
それぞれの書き方と使いどころを見ていきましょう。
| リンク先 | 書き方の例 | 使いどころ |
|---|---|---|
| Webサイト | "https://〜" | 参考サイトの一覧管理 |
| 別シート | "#シート名!セル" | 目次シートからの移動 |
| 別ブック | "[パス]シート名!セル" | 関連ファイルへのリンク集 |
| フォルダ | "C:Users〜" | 共有フォルダへのショートカット |
| メール | "mailto:〜" | 連絡先リストからのメール作成 |
Webサイト(URL)
=HYPERLINK("https://www.example.com", "サンプルサイト")
URLはhttps://またはhttp://から始めてください。
社内ポータルや業務システムのURLを一覧にまとめておくと便利です。
同じブック内の別シート
=HYPERLINK("#売上データ!A1", "売上データを見る")
ポイントは先頭の#(シャープ)です。#をつけることで「同じブック内」を意味します。
シート名にスペースが含まれる場合は、シングルクォーテーションで囲みます。
=HYPERLINK("#'月次 レポート'!A1", "月次レポートを見る")
目次シートを作るときに特に活躍する書き方です。
別のブック(ファイル)
=HYPERLINK("[C:UsersDocuments売上報告.xlsx]Sheet1!A1", "売上報告を開く")
ファイルパスを[](角括弧)で囲むのがポイントです。
共有サーバー上のファイルならUNCパスも使えます。
=HYPERLINK("[\servershare売上報告.xlsx]Sheet1!A1", "売上報告を開く")
WARNING
リンク先のファイルが移動・削除されるとエラーになります。共有フォルダのパスが変わらない場所に保存しておくのがおすすめです。
フォルダを開く
=HYPERLINK("C:UsersDocuments報告書", "報告書フォルダを開く")
フォルダのパスを指定すると、エクスプローラーでそのフォルダが開きます。
末尾に(バックスラッシュ)をつけるのを忘れないようにしてください。
共有フォルダの場合はUNCパスを使います。
=HYPERLINK("\servershare報告書", "報告書フォルダを開く")
チームで使う共有フォルダのショートカット集を作るときに便利ですよ。
メールを作成する(mailto)
=HYPERLINK("mailto:tanaka@example.com", "田中さんにメール")
クリックするとメールソフトが起動して、新規メール画面が開きます。
件名や本文を事前に設定することもできます。
=HYPERLINK("mailto:tanaka@example.com?subject=月次報告について&body=お疲れ様です。", "田中さんに月次報告メール")
| パラメータ | 書き方 | 内容 |
|---|---|---|
| 件名 | ?subject=〜 | メールの件名を事前設定 |
| 本文 | &body=〜 | メール本文の定型文を設定 |
| CC | &cc=〜 | CCの宛先を追加 |
連絡先リストを作って定型メールを送るときに重宝します。
ExcelのHYPERLINK関数の応用テクニック
INDIRECT関数と組み合わせて動的リンクを作る
リンク先をセルの値に応じて自動で切り替えたい場合は、INDIRECT関数と組み合わせます。
たとえば、A1セルに「売上データ」と入力されているとします。
=HYPERLINK("#"&A1&"!A1", A1&"シートへ移動")
この数式は#売上データ!A1というリンク先を生成します。
A1の値を変えるだけで、リンク先のシートが自動的に変わります。
シート名の一覧がA列に並んでいる場合は、数式を下にコピーするだけで全シートへのリンクが完成します。
目次シートを効率よく作りたいときに特に便利なテクニックですよ。
NOTE
INDIRECT関数について詳しくは「ExcelのINDIRECT関数の使い方|文字列からセル参照を動的に切り替える方法」をご覧ください。
目次シートを作る
複数のシートがあるブックでは、目次シートがあると便利です。
HYPERLINK関数で各シートへのリンクを並べましょう。
| No. | シート名 | 数式例 |
|---|---|---|
| 1 | 売上データ | =HYPERLINK("#売上データ!A1","売上データ") |
| 2 | 経費一覧 | =HYPERLINK("#経費一覧!A1","経費一覧") |
| 3 | 月次レポート | =HYPERLINK("#月次レポート!A1","月次レポート") |
さらに、各シートのA1セルに「目次に戻る」リンクを置くと、シート間の移動がスムーズになります。
=HYPERLINK("#目次!A1", "目次に戻る")
シートが多いブックでは、この仕組みがあるだけで作業効率がぐんと上がりますよ。
HYPERLINKとINDIRECTは何が違う?どちらが必要か
「HYPERLINKとINDIRECTを組み合わせる」と聞くと、両方必要だと思いがちです。
ですが、リンク先を動的にするだけなら、INDIRECT関数は要りません。
HYPERLINK関数の「リンク先」は文字列として受け取られます。
そのため、前の節のように&で連結するだけで、セルの値に応じてリンク先を切り替えられます。
一方、INDIRECT関数は文字列を「セル参照」として解釈し、そのセルの値を取り出す関数です。
ジャンプする機能はありません。役割がまったく違うわけです。
| やりたいこと | 使う関数 | 式の例 |
|---|---|---|
| 指定のシートへジャンプしたい | HYPERLINK | =HYPERLINK("#'"&A1&"'!A1", A1) |
| 文字列で指定したセルの値を表示したい | INDIRECT | =INDIRECT("'"&A1&"'!B1") |
| ジャンプでき、表示にも参照先の値を使いたい | 両方 | =HYPERLINK("#'"&A1&"'!A1", INDIRECT("'"&A1&"'!B1")) |
見落としやすいのが、#の扱いです。
HYPERLINK関数のリンク先には「同じブック内」を示す#が必要ですが、INDIRECT関数の参照文字列には#をつけません。
表の3行目の式は、A1セルに入れたシート名のB1セルの値(たとえば合計金額)を、リンクの表示文字にする使い方です。
目次シートに「売上データ 1,250,000円」のような見出しを並べたいときに使えます。
NOTE
シート名を
'(シングルクォーテーション)で囲んでおくと、スペースや記号が入ったシート名でも同じ式で動きます。シート名の一覧をそのままコピーして目次を作るときは、この書き方に統一しておくと安心です。
INDIRECT関数そのものの使い方は、ExcelのINDIRECT関数の使い方で解説しています。
検索した行へジャンプするリンクを作る
同じシート内なら、シート名を省略して#とセル番地だけでジャンプできます。
セル番地は、MATCH関数で行番号を求め、ADDRESS関数で文字列にして作れます。
=HYPERLINK("#"&ADDRESS(MATCH(F1,A:A,0),1), "該当行へ移動")
F1セルに入れた名前がA列の何行目にあるかを調べ、その行のA列へジャンプするリンクになります。
別シートの場合は"#'シート名'!"&ADDRESS(...)のように、シート名を前に足してください。
名簿や商品一覧が長いときに、検索欄とリンクを1セットで置いておくと見つけやすくなります。
右クリックのハイパーリンクとの違い
Excelには「右クリック → リンクの挿入」でリンクを設定する方法もあります。
HYPERLINK関数との違いを比較してみましょう。
| 比較項目 | HYPERLINK関数 | 右クリック(リンクの挿入) |
|---|---|---|
| 設定方法 | 数式で指定 | ダイアログで手動設定 |
| コピー | セルコピーで一括複製 | 1つずつ再設定が必要 |
| 一括変更 | 置換やセル参照で一括変更可能 | 1つずつ編集が必要 |
| 表示テキスト | 別名引数で自由に設定 | ダイアログで設定 |
| リンクの確認 | 数式バーで即確認 | 右クリック→編集が必要 |
| 大量管理 | 得意(数式コピーで量産) | 苦手(手作業が増える) |
リンクが数件だけなら右クリックで十分です。
ただ、10件以上のリンクを管理するならHYPERLINK関数のほうが圧倒的に効率的ですよ。
ハイパーリンクの挿入(Ctrl+K)の手順と使い分け
右クリックのほかに、デスクトップ版のExcelではCtrl+Kでも挿入ダイアログを開けます。
リンクを付けたいセルを選んでCtrl+Kを押し、リンク先を選んでOKを押す流れです。
ダイアログでは「既存のファイルまたはWebページ」「このドキュメント内」「新規作成」「電子メールアドレス」から選べます。
ブック内の別シートも、一覧から選ぶだけで設定できます。
HYPERLINK関数にはない強みが2つあります。
- 画像や図形にもリンクを付けられる(関数はセルのみ)
- すでに入力した文字列を、そのまま残してリンク化できる
ボタン風の図形をクリックして別シートに飛ばしたいときは、挿入機能の出番です。
一方、リンクを何十件も量産したり、リンク先をセルの値で切り替えたりするなら関数が向いています。
NOTE
Excel Web版ではダイアログの項目や操作が異なる場合があります。この記事の手順は、デスクトップ版での操作を前提にしています。
ハイパーリンクを解除・一括削除する方法
挿入したリンクを削除する
セルを右クリックして「ハイパーリンクの削除」を選ぶと、文字列を残したままリンクだけが外れます。
複数のセルをまとめて選んでから実行すれば、一度に解除できます。
シート全体のリンクをまとめて消すなら、次の手順です。
- Ctrl+Aでシート全体を選ぶ
- 右クリックして「ハイパーリンクの削除」を選ぶ
HYPERLINK関数のセルをリンクなしにする
関数で作ったリンクは、式そのものがリンクの正体です。
確実に外したいときは、値だけに変換するのが安全です。
- 対象のセルをコピーする
- 同じ場所に「値として貼り付け」をする
これで式が消え、「別名」に表示されていた文字列だけが残ります。
リンク先のURLも失われるので、必要なら先に別の場所へ控えておきましょう。
式を残したまま見た目だけリンクを無効にする標準機能は、確認できていません。
リンクを無効にしたいときは、上の値貼り付けか、式ごとの削除で対応してください。
URLが勝手にリンクになるのを止める
セルにURLやメールアドレスを入力すると、自動でリンクに変わることがあります。
入力した直後なら、Ctrl+Zで1回だけ元に戻せば、文字列のままになります。
入力のたびに止めたい場合は、デスクトップ版で次の設定を見直します。
- 「ファイル」→「オプション」→「文章校正」を開く
- 「オートコレクトのオプション」を押す
- 「入力オートフォーマット」タブで、インターネットとネットワークのアドレスをハイパーリンクにする項目のチェックを外す
メニューの名称はバージョンで多少異なる場合があります。
Web版については設定項目の有無を確認できていないため、入力直後にCtrl+Zで戻す方法を試してください。
エラー原因と対処法
HYPERLINK関数は、リンク先が無効でも数式自体はエラーを返しません。
セルをクリックしたときに初めてエラーが表示される点が特徴的です。
| よくある原因 | 症状 | 対処法 |
|---|---|---|
| URLのスペルミス | クリック時に「ページが見つかりません」 | URLをコピー&ペーストして正確に入力 |
| シート名の変更 | クリック時に「参照が正しくありません」 | #の後のシート名を最新のものに修正 |
| ファイルの移動・削除 | クリック時に「ファイルが見つかりません」 | ファイルパスを最新の場所に更新 |
#の付け忘れ(別シート) | Webブラウザが開いてしまう | リンク先の先頭に#を追加 |
| シート名のスペース | 「参照が正しくありません」 | シート名をシングルクォーテーションで囲む |
TIP
HYPERLINK関数のトラブルで一番多いのは「
#の付け忘れ」です。別シートへのリンクなのにWebブラウザが開いてしまう場合は、リンク先の先頭に#があるか確認してみてください。
よくある質問
Q. HYPERLINK関数と挿入のハイパーリンクは、どちらを使うべきですか?
リンクの数が多い、コピーして使い回す、あとから一括で変えたい場合は関数が向いています。
画像や図形にリンクを付けたい、入力済みの文字列をそのまま使いたい場合は挿入機能が便利です。
Q. 別シートの特定のセルへ飛ばすには?
"#'シート名'!C10"のように、シート名のあとにセル番地を指定します。
たとえば=HYPERLINK("#'売上 データ'!C10", "C10へ")と書きます。
Q. HYPERLINK関数でGoogleスプレッドシートも同じように使えますか?
関数名は同じですが、別シートへ飛ぶ書き方が違います。
Googleスプレッドシート側の書き方は、スプレッドシートのHYPERLINK関数の使い方で解説しています。
Q. フォルダやUNCパスのリンクは、Excel Web版でも使えますか?
この記事では、Web版での動作を確認できていません。
ブラウザ上のExcelからローカルのフォルダを開く使い方は、期待どおりに動かない可能性があります。フォルダや別ブックへのリンクは、デスクトップ版での利用を前提にしてください。
Q. 目次シートのリンクを増やすとき、1つずつ式を書き直す必要はありますか?
いいえ。シート名をA列に並べ、=HYPERLINK("#'"&A1&"'!A1", A1)を下へコピーすれば、行数ぶんのリンクが一気にできます。
まとめ
ExcelのHYPERLINK関数について、5種類のリンク先の使い方を解説しました。
| リンク先 | 書き方のポイント |
|---|---|
| Webサイト | "https://〜" で指定 |
| 別シート | 先頭に#をつける |
| 別ブック | ファイルパスを[]で囲む |
| フォルダ | パスの末尾にをつける |
| メール | "mailto:〜" で件名・本文も設定可能 |
リンクが少ないうちは右クリックで設定しても問題ありません。
ただ、10件以上のリンクを管理するようになったら、HYPERLINK関数に切り替えるとぐっと楽になりますよ。
まずは別シートへのリンク(#シート名!セル)から試してみてください。
目次シートを1つ作るだけで、ブック内の移動が見違えるほどスムーズになります。
関連記事
関数一覧
どちらの関数一覧からでも各関数の解説記事へアクセスできます。