以下の表の、最終行を瞬時に選択することができるハイパーリンクの作成方法について解説していきます。
今回は、表をテーブルにしてからハイパーリンクを作成していきます。
・表をテーブルにする
まず初めに、対象の表を選択し、[挿入]タブの中の[テーブル]を選択します。
以下の画面が表示されたら、表の範囲が正しいことを確認します。 また、こちらの表の先頭行は表の見出しになるため、「先頭行をテーブルの見出しとして使用する」にチェックしてから[OK]で確定します。
作成されたテーブルを選択すると、[テーブルデザイン]タブが表示されます。 そのタブの中から[テーブル名]を好みの名前に変更します。 ※こちらでは「売上」という名前にしています。
以上でテーブルの設定は完了です。
・ハイパーリンクの作成
次に、HYPERLINK関数を用いてハイパーリンクを作成していきます。
=HYPERLINK(リンク先, [別名])
// [リンク先]に「#アドレス(#A1など)」を指定すると、そのセルへ遷移するハイパーリンクになる
// [別名]に、ハイパーリンクに表示させる文字列を指定する
以下の表の場合、表の最終行は52行目になります。
そのため、B52へ遷移するハイパーリンクをHYPERLINK関数で求めていきます。 直接セルを指定する場合は、以下のようになります。
=HYPERLINK("#B52","表の最終行")
こちらを先頭行のセルに入力すると、このようにハイパーリンクに変換されます。
こちらのリンクを選択することで、表の最終行を瞬時に選択することができます。
ただ実際は、セルB52と固定ではなく、テーブルの行数によって、遷移先の行番号は異なるかと思います。 そのため、まずはテーブルの行数を取得する数式を考えていきます。
指定した範囲の行数を取得するには、ROWS関数を活用します。
=ROWS(配列)
// 配列(参照)に含まれる範囲の行数を返す
またテーブルの範囲は、テーブル名にて指定することができます。 そのため、以下のように行数を求めることができます。
=ROWS(売上)
このように表の行数を取得することができました。
ただ表の最終行の行番号は52なので、2行分の差があります。 そのため、最終行の行番号を求めるには、1行目と2行目分の2を加える必要があります。
=ROWS(売上)+2
次に、ROWS関数を使った数式を、HYPERLINK関数と組み合わせます。 HYPERLINK関数の数式を確認します。
=HYPERLINK("#B52","表の最終行")
この「#B52」の「52」を先ほどの数式で求めたい場合は、「&」を活用して文字結合させます。
=HYPERLINK("#B"&ROWS(売上)+2,"表の最終行")
これでデータの増減に対応した、表の最終行を選択するハイパーリンクが完成しました。
表の最終行の1行下の、新規登録の行を選択させたい場合は、さらに1を加えることで実現できます。
=HYPERLINK("#B" & ROWS(売上)+3 ,"新規登録")
更に応用すると、表の中の最新の日付の先頭を選択させることも可能です。 最新の日付の先頭とは以下の場合は、セルB51になります。
このようなハイパーリンクを作成することで、日の始まりのセルを瞬時に選択でき、当日データの確認がスムーズになります。 では早速、このようなハイパーリンクを数式で作成していきます。
特定の日付が入力されている先頭の行番号を取得するには、MATCH関数を使います。
=MATCH(検査値, 検査範囲, [照合の種類])
// [検査範囲]内を上から確認し、[照合の種類]を満たす[検査値]が見つかった最初の通し番号を返す
// [照合の種類]:(1)以下、(0)完全一致、(-1)以上
以下のように活用することができます。
=MATCH(B6,売上[日付],0)
// 「B6」とは「2023/9/19」の日付
// 「売上[日付]」とは、売上テーブルの「日付」の項目範囲のこと
この数式を確認すると、結果が「4」になりました。 「2023/9/19」の先頭の行が、表の先頭から4行目ということを表しています。
ここで、指定したセルB6を、日付の項目の直近の日付にする必要があります。 日付はシリアル値という数値で管理されているため、MAX関数で求めることができます。
>シリアル値とは
=MAX(数値1, [数値2], [数値3], …)
// 指定した数値の中から最大値を返す
実際に、直近の日付を求める場合は、以下のような数式になります。
=MAX(売上[日付])
// シリアル値が表示される場合は、表示形式を日付にする必要があります。
この数式をMATCH関数の検査値に渡して、テーブルとの差分の2を加えることで、該当する行番号を取得することができます。
=MATCH(MAX(売上[日付]),売上[日付],0)+2
後は、このMATCH関数で求めた行番号を、HYPERLINK関数と組み合わせることで完成です。
=HYPERLINK("#B" & MATCH(MAX(売上[日付]),売上[日付],0)+2,"最新情報")
HYPERLINK関数を活用することで、好みの位置へのハイパーリンクを作成することができます。 瞬時に該当する項目を選択するハイパーリンクなどと、必要に応じてカスタマイズすると、効率化が図れます。