ExcelのVLOOKUPでハイパーリンクを参照・作成する方法【2025年最新版】
ハイパーリンクを「引っ張ってくる」方法は知っておくと便利ですよ。
目次
- はじめに
- VLOOKUPでは「表示文字列」しか取得できない理由
- 方法①:HYPERLINK関数との組み合わせ(表示+リンク)
- 方法②:セルのリンク先URLを別列に保持して参照
- 方法③:VBAでセルにリンクを埋め込む
- 注意点まとめ
- よくある質問
- 補足Tips:ハイパーリンクの動作パターン
- 関連記事リンク
はじめに
Excelで「VLOOKUPを使って、リンク付きセルを別の場所に表示したい」と思ったことはありませんか?
実は、VLOOKUPで取得できるのは“表示されている文字列”のみで、リンク先のURLまでは取得できません。
ですが、関数の工夫やVBAを使えば、目的のリンク付きセルを作成することが可能です。
VLOOKUPでは「表示文字列」しか取得できない理由
=VLOOKUP(A2, リスト!A:B, 2, FALSE)
この式で取得できるのは、ハイパーリンク付きの文字列の「見た目」だけです。
リンク先URLは引っ張れません。
方法①:HYPERLINK関数との組み合わせ
構文:
=HYPERLINK(VLOOKUP(A2, URLリスト, 2, FALSE), VLOOKUP(A2, 表示名リスト, 3, FALSE))
説明:
- 第1引数(URL):リンク先URLをVLOOKUPで取得
- 第2引数(表示名):リンクに表示させたい文字列
例:
| 商品ID | リンクURL | 商品名 |
|---|---|---|
| 001 | https://example.com/item001 | マグカップ |
| 002 | https://example.com/item002 | Tシャツ |
セルに入れる関数:
=HYPERLINK(VLOOKUP(A2, A:C, 2, FALSE), VLOOKUP(A2, A:C, 3, FALSE))
方法②:セルのリンクを別列に保持して参照
- 元データでURLを明示的に別列(例:B列)に入力しておく
- 表示名(C列など)も分けて記述
HYPERLINK関数で組み合わせる
=HYPERLINK(B2, C2)
※ この形ならフィルタやVLOOKUPを併用しても安全です。
方法③:VBAでセルにハイパーリンクを自動追加
Sub AddHyperlink()
Dim url As String, text As String
url = Range("B2").Value
text = Range("C2").Value
ActiveSheet.Hyperlinks.Add Anchor:=Range("D2"), Address:=url, TextToDisplay:=text
End Sub
- B列にURL、C列に表示名、D列にリンクを作成
- 繰り返すにはループ処理を追加可能です
注意点まとめ
| 方法 | メリット | デメリット |
|---|---|---|
| HYPERLINK関数 | 関数だけで実現できる | URLと表示名の列が必要 |
| VBA | 自由なセル装飾が可能 | 初心者にはややハードルが高い |
| 単純VLOOKUP | 見た目は引っ張れる | リンク機能は失われる |
補足Tips:ハイパーリンクの動作パターン(実例付き)
次のようなリンク先を設定した場合、動作は以下のようになります:
| 入力例(HYPERLINK関数) | 動作内容 |
|---|---|
=HYPERLINK("https://example.com", "サイトへ") |
ブラウザが起動し、外部Webサイトに遷移します |
=HYPERLINK("#Sheet2!A1", "別シートへ") |
Sheet2のA1セルにジャンプします |
=HYPERLINK("C:\Users\User\Documents\sample.xlsx", "別ファイルを開く") |
指定したExcelファイルが起動します(パス有効な場合) |
🔍
HYPERLINK関数では、リンクの種類(URL・シート参照・ファイルパス)によって挙動が変わります。関連記事リンク
本記事は2025年8月最新版としてリライトされました。
便利な使い方や活用アイデアは、コメントでもぜひシェアください!