年末の帰省に備え、持ち物リストをExcelで作っています。
衣類、文具などで分類して、漏れのないようにしたいのですが、品目の数が多くなると、スクロールしないと見れないので、HYPERLINK関数を使って、各種別へジャンプできるようにしています。
目次部分は常に表示させておきたいので7行目で「ウィンドウ枠の固定」
また、用意する着替えの数などの参考にするため、宿泊日数を表示するようにしました。DAY関数。=DAY(終了日,開始日)
(セルH11の計算式。「泊」の文字は、セルの書式設定/表示形式/ユーザー定義/ # "泊" で設定)
HYPERLINK関数について
最初、「 =HYPERLINK("#B28","文具") 」 というふうに式を作って、各見出しに飛ぶようにしましたが、「文具」よりも上のセルで、行の挿入、削除すると、参照先セルが実際のセルとズレてしまいます。(リンクの参照先はB28を指したまま)。そのため、式を再度新しいセルに変更しなければなりません。
これは「 =HYPERLINK("#B28","文具") 」の引数”#B28"が、文字列で指定されているため。常にリンク先はセルB28を指しています。
これでは不便なので、行の挿入/削除に影響されない方法で設定しました。
セルB28の 行部分「28」を文字列指定ではなく、行の増減に対応した形で指定してやります。これを実現するには、ROW関数を使います。
ROW関数は、現在の行番号を取得してくれます。
計算式「=ROW(B28)」 をセルに入力すると 行番号28が表示されます。
これを「 =HYPERLINK("#B28","文具") 」に組み込むと
「=HYPERLINK("#B"&ROW(B28),"文具")」
これで、行の増減に応じて、参照先も追従してくれます。
この目次方式を使うと、PCのプログラム起動や任意のフォルダを開くなどランチャーとして使うこともできます。