このページの本文へ

前へ 1 2 3 次へ

ブックとシートの使い分けで広がるExcel“深”世界 第3回

仕事に役立つ! 複数シートの検索&合算技――応用編 Part.2

2009年01月26日 08時00分更新

文● 構成● 早坂清志、アスキードットPC編集部 イラスト●三澤亞希子

  • この記事をはてなブックマークに追加
  • 本文印刷

クリックすると今日の日付に飛ぶ
「週間スケジュール帳」を作る

 シート1枚で1週間分記入できるスケジュール表を作ります。

 クリックひとつで今週のシートが開き、今日の欄が選ばれるスグれものです。

完成形――こんなExcelシートを作ります

Excelで作った予定表

「表紙」シートの「↓ジャンプ」をマウスで左クリック。すると当日の予定欄にジャンプするExcelシートを作ります


 特定シートのセルにジャンプするには、「HYPERLINK」関数を使います。ただし、この関数はジャンプ先として特定のシート名を指定しなければなりません。

 しかし、各シートの「←前週」「次週→」ボタンに、いちいち前シートや次シートのシート名を直接指定するのはあまりに面倒です。

 そこで、右ページと同様にマクロ関数を活用して「次シート」などを指定できるようにします。

 なお、リンクを設定したセルを選択するには、セル上でマウスボタンを長押しします。するとポインタが指の形から十字形に変わり、セルを選択できるようになります。


予定表シートの作り方

「名前の定義」画面

「シート名一覧」と「シート番号」を定義シートの「↓ジャンプ」をマウスで左クリック

 前ページの「名前の定義で式を設定する」のようにして、(1)「シート名一覧」と(2)「シート番号」を定義し、(3)[OK]で完了です。

シート1

1シート目を作成。最初は表紙に戻るリンクと、シート「2」に進むリンクを設定する。ただし、まだ2シート目がないため現在はエラー表示になっている

 「1」シートを作り、(4) B5セルに最初の日付を入力します。

 (5) B6セルに「=B5+1」と入れて(6) 下方向にコピーし、1週間分の日付を表示します。

 (7) B2セルには「=HYPERLINK("#表紙!B4","←表紙")」、(8) D2セルには「=HYPERLINK(INDEX(シート名一覧,シート番号+1)&”!C5",”次週→”)」と入力します(すべて半角で)。

 (9) 最後にシート見出しを[Ctrl]キーを押しながら右へドラッグします。

D2セルに入った式は?

 「INDEX(シート名一覧,シート番号+1)」とすると、数式を入力したシートの次のシート名を取得できます。

 このシート名に「!C5」を付け足して、各シートのC5セルを指定して、HYPERLINK関数でジャンプできるようにする。引数「別名」には「次週→」と指定します。

関数名
検索/行列関数
書式
=HYPERLINK(リンク先[,別名])

予定を入力したい日付までシートを複製

予定を入力したい日付までシートを複製していく

 シート「1」を複製し、(10) 見出しを「2」に変更します。

 (11) B5セルに「=INDIRECT(INDEX(シート名一覧,シート番号-1)&”!B5”)+7」と入力(すべて半角で)して、前シートの7日後を表示します。

 (12) B2セルには「=HYPERLINK(INDEX(シート名一覧,シート番号-1)&”!C5”,”←前週”)」、(13) C2セルには「=HYPERLINK(”#表紙!B4”,”↑表紙”)」と入力(すべて半角で)。

 (14)「2」シートを複製し、同様にシート名を変更します。


「表紙シート」を作る手順

表紙シートを作る

表紙シートを作る。D8セルには週数を表示し、D9セルをクリックすると今日の日付があるシートにジャンプする

 「表紙」シートを作ります。

 (15) D2セルに「=HYPERLINK(INDEX(シート名一覧,シート番号+1)&”!C5”,”次週→”)」と入力(すべて半角で)。(16) B8セルに「=TODAY()」と入力します。

 (17) D8セルには「=ROUNDUP((B8-'1'!B5+1)/7,0)」と入力し、今日の日付が何週目になるのか求めます。

 (18) B9セルに「=HYPERLINK(”#”&D8&”!C”&WEEKDAY(B8,2)+4,”↓ジャンプ”)」と入力(すべて半角で)して、該当セルにジャンプできるようにします。

 この式では、「リンク先」を週番号と同じ番号のシートの、C列の、WEEKDAY関数で求めた曜日番号に4足した行のセルと指定しています。引数「別名」には「ジャンプ」と指定しました。

表紙シートの作成に使った関数は?

関数名
数学/三角関数
書式
=ROUNDUP(数値,桁数)

 「数値」を指定した「桁数」で切り上げる関数。

 「桁数」は、小数の位を基準にしていて、たとえば「2」と指定すると、小数第2位に切り上げることができる。

 「0」を指定すると、小数点以下を切り上げて整数に丸めることができる。


関数名
日付/時刻関数
書式
=WEEKDAY(シリアル値[,種類])

 指定した日付の「曜日番号」を求める関数。

 求められる曜日番号は「種類」に指定した引数によって異なり、「1」または省略で「日~土の順に1~7の番号」、「2」で「月~日の順に1~7の番号」、「3」で「月~日の順に0~6の番号」となる。


知ッ得 6――
ハイパーリンクの関数をもっと便利に使うには?

 HYPERLINK関数でジャンプ先にセルを指定する場合、通常はブック名から指定する。

 しかしB9セルのように「#シート名!セル番地」とするとブック名を省略できる。

 D2セル、B5セルは「GET.WORKBOOK」関数の結果にブック名も含まれている。


アスキードットPCロゴ

R

http://www.asciidotpc.jp/

本記事は「アスキードットPC 2006年4月号」の特集記事を元に、編集・再構成したものです。




前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ