要点 —
HYPERLINK(link_location, [friendly_name])は、クリック可能な ジャンプを作る 数式 です。link_locationはどこへ行くか、friendly_nameは 表示するテキストです。これは 挿入 > リンク とは 別物 です — あのメニューは 静的で手作りのリンクを落とすのに対し、HYPERLINK 数式は飛び先を毎回計算し直すので、 行き先を他の数式で 計算 できます。#プレフィックスでブック内をジャンプし (=HYPERLINK("#Sheet2!A1","Go"))、ADDRESS と MATCH と組み合わせれば、行を見つけてそこへ飛ぶリンクが 作れます。
=HYPERLINK("#Sheet2!A1", "Go to Sheet2") ' このブック内をジャンプ — # に注目
=HYPERLINK("#'Q1 Data'!A1", "Open Q1") ' 空白を含むシート名 -> シングルクォート
=HYPERLINK("mailto:" & E2, "Email " & D2) ' セルのデータからメールリンクを組み立てる
=HYPERLINK("#" & ADDRESS(MATCH(H2, IDs, 0), 1), "Find row") ' 検索してジャンプ
=HYPERLINK("https://excelmaster.ai", "Visit") ' Web ページを開く
ほとんどの人は 挿入 > リンク ダイアログでハイパーリンクに出会い、関数 がある ことに気づきません。この違いは重要です。ダイアログは飛び先が動くたびに手で編集 しなければならないリンクを作りますが、HYPERLINK 関数は数式が操縦できるリンクを 作ります。ひとたび「飛び先が計算されるリンク」として見えれば、一連のナビゲーション技 — クリック可能な目次、一致行へジャンプするボタン、mailto 列 — が一つの短い数式に なります。
この記事でわかること
- 考え方の軸: HYPERLINK は 数式 であり、挿入 > リンク メニューではない
- 誰もが忘れる
#プレフィックス でブック内をジャンプする - 本当の威力:
ADDRESS、MATCH、&によって 計算される飛び先 - 最大の誤解: クリックで 移動する のであって、飛び先の値を取ってくるのではない
- なぜほぼ常に
friendly_nameを渡すべきか - ファイル、Web、メールへのリンク — そして静かに 壊れる パス
考え方の軸: 挿入リンクメニューではなく数式
Excel には「ハイパーリンク」と呼ばれるまったく別の二つのものがあり、これを混同する
ことがトラブルの大半の根です。挿入 > リンク(Ctrl+K)は固定のリンクをセルに
取り付けます — 飛び先を一度選ぶと、手で編集するまでそこに居座ります。
HYPERLINK 関数 は数式です。クリック可能なリンクを 返し、どんな数式とも同じく
再計算するので、飛び先を他のセルや他の関数から組み立てられます。
これこそメニューではなく関数を使う理由のすべてです。飛び先がデータに依存すべき
なら、それを表現できるのは数式だけです。 「42 行目」への静的リンクは、データが
並べ替えられた瞬間に間違いになります。=HYPERLINK("#"&ADDRESS(MATCH(...)…)) は、
どの行へ飛ぶかを毎回計算し直します。リンクが決して変わらないならメニューで十分です。
データに追随すべきなら関数が必要です。
ブック内をジャンプ: 誰もが忘れる # プレフィックス
最も一般的な用途 — そして最も一般的な失敗 — がブック内ジャンプです。ルールは小さく、
絶対的です。内部の場所は # で始めなければなりません。
=HYPERLINK("#Sheet2!A1", "Go to Sheet2") ' 正しい — # は「このブック」を意味する
=HYPERLINK("#A1", "Back to top") ' シートなしの # -> 現在のシートのセル
=HYPERLINK("#'Q1 Data'!A1", "Open Q1") ' 空白を含むシート名は '...' で囲む
=HYPERLINK("Sheet2!A1", "Go") ' 間違い — # がない -> Excel は Sheet2 という名前のファイルを探す
# がないと、Excel は文字列を外部ファイル名として読み、見つけられず、クリックしても
リンクはエラーになるか何も起きません。# は「このファイルの中に留まれ」と告げます。
空白や記号を含むシート名は、通常の参照とまったく同じく、シングルクォート
('Q1 Data')で囲まねばなりません。# さえ正しければ、クリック可能な目次 —
セクションごとに 1 つの HYPERLINK — が数分で作れます。
本当の威力: 他の数式によって計算される飛び先
静的なリンクは退屈な 10% です。HYPERLINK が一席を勝ち取る理由は、link_location が
単なる文字列であること、つまり 文字列を生み出せる数式なら何でもリンクを生み出せる
ことにあります。& で連結し、ADDRESS と
MATCH で番地を計算すれば、飛び先を 見つける リンクが
得られます。
=HYPERLINK("#" & ADDRESS(MATCH(H2, IDs, 0), COLUMN(IDs)), "Jump to " & H2)
=HYPERLINK("mailto:" & E2 & "?subject=Invoice " & A2, "Email")
=HYPERLINK("#" & CELL("address", INDEX(data, MATCH(H2, keys, 0))), "Go")
最初のものはこう読めます。MATCH が H2 に入力された ID を どの行 が保持するかを
見つけ、ADDRESS がその行と列を $B$57 のようなテキストの番地に変え、# がそれを
内部ジャンプにし、& が親しみやすいラベルを貼り付けます — 一致するレコードへ飛ぶ、
動く「検索ボックス」です。これが考え方の軸の見返りです。飛び先が 計算される ので、
リンクは古くなる行番号を指す代わりに、データを追いかけます。
最大の誤解: クリックで移動するのであって、値を取ってこない
「HYPERLINK が動かない」という問いを最も多く生む誤解がこれです。人はセルが飛び先の 値を表示する と期待します。しません。
=HYPERLINK("#Sheet2!A1", "Go") ' セルは "Go" を表示し、クリックするとカーソルが Sheet2!A1 へ移動する
' Sheet2!A1 に格納されているものは表示しない
HYPERLINK のセルは friendly_name を表示し、人がクリックしたときにだけ 選択を
飛び先へ移します。数式は飛び先の中身を決して読みません — ナビゲーションと取得は別の
仕事です。ルックアップした場所の値を 表示 したいなら、それは
INDEX/MATCH や VLOOKUP の問題であって、HYPERLINK の
問題ではありません。線をきれいに保ってください。HYPERLINK はそこへ連れて行く。
ルックアップは値をここへ持ってくる。 両方が並んでいるのを見かけることもあります —
数値を表示するルックアップ列と、「元データを開く」を差し出す HYPERLINK 列です。
friendly_name: ほぼ常に第 2 引数を渡す
friendly_name は省略可能ですが、省くのは小さく、避けられる見苦しさです。
=HYPERLINK("#Sheet2!A1") ' セルには文字どおり "#Sheet2!A1" が表示される
=HYPERLINK("#Sheet2!A1", "Details") ' セルには "Details" が表示される — こうする
=HYPERLINK(url, "Open " & Company) ' friendly_name はテキストなので & で組み立てる
省くと、セルは生の link_location を表示します — #Sheet2!A1、mailto:sam@…、
90 文字の URL — まさに隠そうとしていた雑音です。friendly_name は単なるテキストなの
で、これも計算できます("Open " & Company)。各リンクに読みやすくデータ駆動の
ラベルを与えられます。ルール: すべての HYPERLINK に親しみやすい名前を与える ことで、
セルは迷子の URL ではなくボタンのように読めます。
ファイル、Web、メールへのリンク — そして壊れるとき
link_location は内部ジャンプ以上を扱います。落とし穴は、外部の飛び先が内部のもの
にはない仕方で脆いことです。
=HYPERLINK("https://excelmaster.ai/blog", "Read the blog") ' Web — ブラウザーを開く
=HYPERLINK("[Budget.xlsx]Summary!A1", "Open budget") ' 別の開いているブック
=HYPERLINK("C:\Reports\Q1.pdf", "Q1 report") ' フルパスでファイルを指定
=HYPERLINK("mailto:[email protected]", "Contact sales") ' メール — メールアプリを開く
Web リンク(https://)と mailto: は、ファイルの場所に依存しないので安定して
います。壊れるのはファイルパスのリンクです。絶対パス(C:\Reports\…)はブックが
別のマシンで開かれた瞬間に死に、相対パスはファイルが動くとずれます。そして
[Another.xlsx] へのリンクは、そのブックが開いているかどうかで振る舞いが変わります。
外部の HYPERLINK は、設定して忘れるものではなく、ファイルを移動した後にテストする
ものとして扱ってください — 失敗はいつも「自分のパソコンでは動いた」です。
使いどころの判断
決定木は短いです。静的な飛び先で、一度設定するだけ → 挿入 > リンク で十分。
データに追随すべき飛び先、または数式から組み立てるリンク → HYPERLINK 関数。
ほぼすべての失敗を防ぐ二つの機械的なルール。内部ジャンプには # を前置する(ないと
Excel はファイルを探しに行く)、そして常に friendly_name を渡してセルが生の番地では
なくラベルを表示するようにする。そして HYPERLINK が 何のためのものか を忘れないで
ください — クリックでカーソルを動かすのであって、値を決して取ってきません。だから
飛び先の中身が欲しくなった瞬間、ルックアップに切り替えます。ナビゲーションと取得を
分けておけば、HYPERLINK は実際にクリックして辿れるスプレッドシートを作る最もきれいな
方法になります。
ExcelMasterの活用
動的リンクは手で組み立てるのが厄介です — # が一つ欠けるだけで全体が静かに失敗
します。ExcelMaster に「H2 の ID に一致する行へジャンプするリンクを作って」と
伝えると、HYPERLINK("#"&ADDRESS(MATCH(...)…)) を書き、必要なシート名を引用符で
囲み、読みやすい親しみやすい名前を付けます。「住所と氏名の列からクリック可能な
メール列を」と頼めば、"mailto:"&… の連結を組み立てます。そして # プレフィックスが
欠けていたり、飛び先の値が表示されると期待していたりする HYPERLINK を貼り付ければ、
死んだリンクのテーブルを出荷する前に、二つの古典的な間違いを指摘します。
よくある質問
Excel の HYPERLINK 関数は何をしますか?
HYPERLINK(link_location, [friendly_name]) はセルにクリック可能なリンクを作ります。
link_location は飛び先 — Web アドレス、ファイルパス、メール(mailto:)、または
#Sheet2!A1 のような内部ジャンプ — で、friendly_name はセルに表示されるテキスト
です。数式なので、飛び先を他の数式で計算できます。これは 挿入 > リンク メニューには
できないことです。
同じブック内の別のシートやセルへリンクするには?
場所に # を前置します。=HYPERLINK("#Sheet2!A1", "Go to Sheet2")。# は、飛び先が
外部ファイルではなく現在のブック内にあることを Excel に伝えます。シート名に空白が
含まれる場合は、シングルクォートで囲みます。=HYPERLINK("#'Q1 Data'!A1", "Open")。
HYPERLINK が動かない/なぜファイルを探すのですか?
最も一般的な原因は、内部リンクで # が欠けていることです。=HYPERLINK("Sheet2!A1")
は Excel に「Sheet2」という ファイル を探させます。=HYPERLINK("#Sheet2!A1") が
必要です。もう一つのよくある驚きは、セルが飛び先の値を表示すると期待することです —
しません。friendly_name を表示し、クリックしたときにだけ移動します。
一致する行へジャンプする動的なハイパーリンクを作るには?
MATCH と ADDRESS で番地を計算し、# を前置します。
=HYPERLINK("#" & ADDRESS(MATCH(H2, IDs, 0), 1), "Jump")。MATCH が H2 の値の行を
見つけ、ADDRESS がそれをテキストの番地に変え、# が内部ジャンプにします — こうして
リンクは固定の行を指す代わりにデータを追随します。
HYPERLINK は指し示すセルの値を返せますか?
いいえ。HYPERLINK は 移動する だけです — クリックするとカーソルが飛び先へ移ります。
そこに格納されているものは決して読みません。計算した場所から値を引き出すには、代わりに
INDEX/MATCH か VLOOKUP を使います。値とジャンプリンクの
両方が欲しければ、そのルックアップを HYPERLINK のすぐ隣に置けます。
動作確認環境
動作確認環境: Excel 365 (Windows 11) — 最終確認 2026-07-13。
関連ガイド: Excel ROW と COLUMN · Excel ROWS と COLUMNS · Excel ADDRESS · INDEX と MATCH · Excel OFFSET
