ExcelのHYPERLINK関数を使うと、クリックするだけで指定したセルや場所へ移動できるリンクを作成できます。しかし、単一セルへのリンクは簡単でも、A61:A74のような範囲をリンク先として指定したい場合には少し工夫が必要です。
また、行を挿入したあともリンク先が変わらないようにするには、単純なセル番地指定ではなく、セル参照の仕組みを理解して設定することが重要です。
HYPERLINK関数で範囲を指定できない理由
HYPERLINK関数は基本的に「クリック後に移動する場所」を1つのリンク先として扱います。そのため、以下のように入力しても範囲全体を選択するリンクにはなりません。
=HYPERLINK("#A61:A74","表示名")
Excelではリンク先として範囲を指定すること自体は可能ですが、通常のセル移動リンクの場合は範囲の左上セル(この場合はA61)がアクティブになるだけです。
つまり、A61:A74全体を選択した状態でジャンプするには、別の方法を使う必要があります。
行を挿入してもずれないリンクを作成する方法
行の追加や削除によってリンク先が変わらないようにするには、ADDRESS関数とROW関数を組み合わせる方法が有効です。
単一セルの場合は、以下のような数式になります。
=HYPERLINK("#"&ADDRESS(ROW(A61),COLUMN(A61),4),"表示名")
この方法では、A61という固定文字ではなく、セルそのものの位置情報を取得してリンクを作成します。そのため、行を挿入した場合でも参照位置を維持できます。
範囲A61:A74へ移動するリンクを作成する方法
範囲全体へ移動したい場合は、HYPERLINK関数のリンク先に範囲名を指定する方法が利用できます。
例えば以下のように設定します。
=HYPERLINK("#A61:A74","範囲へ移動")
ただし、この方法では行挿入時に参照位置がずれる可能性があります。行追加に強いリンクを作成する場合は、名前の定義を利用する方法がおすすめです。
名前の定義を使って範囲リンクを作成する方法
Excelには、セル範囲に名前を付けて管理できる「名前の定義」という機能があります。この方法を使うと、行を追加しても範囲参照を維持しやすくなります。
- リンクしたい範囲A61:A74を選択する
- 「数式」タブから「名前の定義」を選択する
- 任意の名前(例:商品一覧)を設定する
- HYPERLINK関数で名前を指定する
数式例。
=HYPERLINK("#商品一覧","商品一覧へ移動")
名前で管理すると、セル番号ではなく範囲そのものを参照するため、表の編集や行追加にも対応しやすくなります。
INDIRECT関数を使った動的な範囲リンク
状況によってはINDIRECT関数を利用して、文字列から参照範囲を作成する方法もあります。
例えば、別セルに範囲名やセル位置を入力して管理したい場合は、以下のような形にできます。
=HYPERLINK("#"&INDIRECT("A61"),"移動")
ただしINDIRECT関数は複雑なファイル管理では計算負荷が増える場合があるため、大量のデータでは名前の定義を使う方法のほうが安定します。
実務でおすすめのリンク管理方法
商品一覧、目次、マニュアルなどでリンクを多用する場合は、セル番号を直接入力するよりも「名前の定義」を利用する方法が便利です。
例えば、商品カテゴリごとの一覧表へジャンプする目次を作る場合、「商品A一覧」「商品B一覧」のように範囲名を設定しておけば、表の行追加や並び替えが発生しても修正作業を減らせます。
Excelのファイルを長期間利用する場合ほど、セル番地ではなく名前による管理がトラブル防止につながります。
まとめ
HYPERLINK関数で範囲へ移動するリンクを作成する場合、単純にA61:A74を指定すると期待通りの動作にならないことがあります。
行挿入後もリンク先を維持したい場合は、ADDRESS関数や名前の定義を利用する方法がおすすめです。
特に業務用ファイルや長期間使用するExcelでは、セル番号を直接指定するよりも、名前の定義で範囲を管理することで、変更に強いリンクを作成できます。


コメント