セルに入力されたシート名文字列を用いてハイパーリンクを作成する計算式
Excelを使用して複数のシート間を簡単に移動できるようにするために、セルの値を用いてハイパーリンクを作成する方法をご紹介します。この方法を使えば、特定のセルに入力されたシート名を利用して、別のシートへのリンクを自動的に生成できます。
ハイパーリンク関数の基本構文
まず、基本的なHYPERLINK関数の構文は次の通りです。
=HYPERLINK(リンク先, [別名])
ここで、リンク先
はリンク先のURLまたはセル参照文字列、別名
はリンクの表示テキストですが省略可能です。
例えばセルF3へ移動するハイパーリンク計算式は次のようになります。
=HYPERLINK("F3")
別のシート名へ移動するハイパーリンク計算式はやや複雑になります。先頭に「#」を付けてシート名を「’」で囲み「!セル番地」とします。
=HYPERLINK("#'シート名'!セル番地")
例えば「Sheet3」のセルF3へ移動するハイパーリンク計算式は次のようになります。
=HYPERLINK("#'Sheet3'!F3")
シート名を「’」で囲まなくても大体のケースでは問題なく動作します。ただしシート名にスペースなどの特殊記号がある場合には「’」で囲まないと動作しません。基本的には付けるようにしましょう。
セルの値を用いたハイパーリンクの作成
シート名が入力されているセルの値を用いて、特定のシートへのハイパーリンクを作成するための構文は次の通りです。リンク先はシート名だけでなくセル名を指定する必要があります。ここでは便宜上セルA1を指定しています。
=HYPERLINK("#'" & シート名入力セル番地 & "'!A1", [別名])
この構文を用いることで、シート名が入力されているセルの値を動的に使用し、リンクを作成できます。例えばセルB3に「Sheet3」と入力されていて、それを用いる計算式は次のようになります。
=HYPERLINK(“#'” & B3 & “‘!A1”)
具体例
例えば、シート名がSheet0
のA1:A4
に入力されているとします。
A1: Sheet1 A2: Sheet2 A3: Sheet3 A4: Sheet4
これらのシート名を用いて、B1:B4
に各シートへのハイパーリンクを作成するには、次のようにします。
B1: =HYPERLINK("#'" & A1 & "'!A1", A1) B2: =HYPERLINK("#'" & A2 & "'!A1", A2) B3: =HYPERLINK("#'" & A3 & "'!A1", A3) B4: =HYPERLINK("#'" & A4 & "'!A1", A4)
実際にセルB1へ以下の計算式を作り、下へコピーすればよいでしょう。
=HYPERLINK("#'" & A1 & "'!A1", A1)
この方法で、B1:B4
のセルをクリックすると、それぞれSheet1
、Sheet2
、Sheet3
、Sheet4
のA1
セルに移動できます。
HYPERLINK関数:構文の解説
上記の式の意味は以下の通りです:
#
:同じブック内のセル参照を示します。&
:文字列を連結します。シート名入力セル番地
:シート名が入力されているセルの番地です(例:A1
)。'
(シングルクォート):シート名にスペースや特殊文字が含まれている場合でも正しく参照するために使います。"A1"
:リンク先のセルを指定します。この例では、各シートのA1
セルを参照しています。[別名]
:ハイパーリンクのテキストとして表示される名前です。省略した場合は、シート名そのものが表示されます。
カスタマイズ例
ハイパーリンクの別名を変更したい場合、次のように別名をカスタマイズすることができます。
=HYPERLINK("#'" & A1 & "'!A1", "Go to " & A1)
この場合、リンクの別名はGo to Sheet1
のようになります。
この方法を使えば、Excelでシート名を動的に利用したハイパーリンクを簡単に作成できます。ぜひ試してみてください。
参考:ワークシート名の一覧を取得するマクロ関数
ワークシート名の一覧を取得する関数の導入方法については以下の記事を参照にしてください。
コメント