doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

ExcelのVLOOKUPでハイパーリンクを参照したい、作成したい【2025年最新版】

スポンサーリンク

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))

方法②:セルのリンクを別列に保持して参照

  1. 元データでURLを明示的に別列(例:B列)に入力しておく
  2. 表示名(C列など)も分けて記述
  3. 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月最新版としてリライトされました。
便利な使い方や活用アイデアは、コメントでもぜひシェアください!