2024年12月4日【ID:0】
【Excel】抽出元のデータへのハイパーリンクを作成
今回は、以下のように、VLOOKUP関数などで抽出した値自体に、抽出元のセルに遷移するハイパーリンクを自動で設定する方法について解説していきます。

遷移先のセルのアドレスを取得
抽出元のセルに遷移するハイパーリンクを作成するためには、まずは、遷移先のセルのアドレスを取得する必要があります。
その際に活用する関数は、MATCH関数になります。
この関数の使い方は、以下になります。
=MATCH(検査値, 検査範囲, 照合の種類)
// 指定した[検査値]が[検査範囲]内に存在する場合、先頭からの位置情報を番号で返す
// [照合の種類]では、検索方法を指定する([1]以下、[0]完全一致、[-1]以上)
実際に活用して、セルA2のIDと一致する位置情報から対象の行番号を取得する場合は、以下のようになります
=MATCH(A2,A5:A100,0)+4
// 位置情報と行番号の差分の4を加える

この取得した行番号からセルのアドレスにしていきます。
例えば、ハイパーリンクの遷移先を該当する行のA列にしたい場合は、以下のようになります。
="A"&MATCH(A2,A5:A100,0)+4

以上の手順で、遷移先のセルのアドレスを取得することができます。
ハイパーリンクの作成
では、取得したセルのアドレスに遷移するハイパーリンクを作成していきます。
ハイパーリンクを作成するには、HYPERLINK関数を活用します。
この関数の使い方は、以下になります。
=HYPERLINK(リンク先, 別名)
// [リンク先]に指定したアドレスへ遷移するリンクを作成する
// [別名]に指定した値をリンクに表示させる
実際に活用すると、以下のようになります。
=HYPERLINK("#A"&MATCH(A2,A5:A100,0)+4,"選択")
// セルに遷移するリンクにする場合は、セルのアドレスの先頭に「#」を加える
// [別名]には仮で"選択"と指定している

以上の手順で、ハイパーリンクを作成することができます。
こちらでは、仮の文字として「選択」と表示させていますが、「氏名」のように特定の項目の値を抽出したい場合は、引数の[別名]にVLOOKUP関数などを記述することで実現できます。
実際にハイパーリンクのテキストを表の中の氏名にした例が以下になります。
=HYPERLINK("#A"&MATCH(A2,A5:A100,0)+4,VLOOKUP(A2,A5:D100,2,FALSE))
