・印刷範囲設定を自動化する
・セル範囲をテーブル化する
・OFFSET関数とPrintAreaの設定方法
練習用サンプルデータ(ダウンロード)
※シートは練習用と成果物(解答)の2種類あります。閲覧したい方はダウンロードして下さい。
印刷したい範囲のみを指定して設定することはいいのですが、毎回、項目が追加で増えた場合に、印刷範囲を設定し直すのは、手間と感じることはありませんか。そういった時に、自動化する方法が2つあります。1つが、印刷範囲をテーブル化する方法。2つ目が、印刷範囲を、OFFSET関数とPrintAreaの機能を使う方法です。
テーブル化する方法が一番簡単です。1つデメリットと言えば、自身が作ったレイアウトの色がテーブル化すると1行ごとにセルの色が青と白の縞模様になることです。レイアウトが変わるのは困るという場合は、2つ目のOFFSET関数とPrintAreaを使う方法となります。
‘【1】印刷範囲設定を自動化する
一緒に手順を確認されたい方は、「練習用サンプル」のシート「練習用」を開いてください。
すると以下の表が表示されます。

‘①印刷したい範囲をドラッグして選択します。
(A3からF28を印刷選択として選択)

‘②挿入タブ→テーブルの設定をクリックします。

‘③OKをクリックします。

‘④以下のようにデータが青と白色のテーブル化した表になります。

‘(2)OFFSET関数とPrintAreaの機能を使う方法
これは、現在作った表のレイアウトの罫線や色などそのまま利用したい場合に有効なやり方です。
‘①印刷範囲をドラッグして指定(A3からF28)した後、「ページレイアウト」タブ→印刷範囲の設定をクリックしてください。

‘②「数式」タブ→「名前の定義」をクリック

‘③すると先ほど範囲指定した印刷範囲が「名前の管理」にPrint_Areaとして表示されます。Print_Areaが選択されていることを確認してください。

‘④参照範囲に以下の数式を張り付けてください。そして確定ボタンをクリックし、閉じる。
数式の中身については、この後、別途解説します。

すると、以下のように表の下にデータを追加したとしても自動で印刷範囲に追加されます。

‘(3)数式の解説
(数式)
「=OFFSET(練習用!$A$3,0,0,COUNTA(練習用!$A:$A)-1,COUNTA(練習用!$3:$3))」
OFFSET関数の公式は「OFFSET(参照,列数,行数,[高さ],[幅])」となります。
意味は、「基準となるセル位置を、移動(列数と行数)させ、移動したセルから範囲(高さ、幅)を指定できる関数」という意味です。
かみ砕いて説明しますと、
最初の「=OFFSET(練習用!$A$3」は、
このシートのこのセルの位置を基準として始めますよという意味です。いわゆる印刷開始する左上の位置を示しています。
次の「,0,0,」は、
公式の列数、行数を0にしているので、基準位置は移動させないという意味です。
次の「COUNTA(練習用!$A:$A)-1」は、
基準位置から印刷範囲をどれくらいの行数が必要かを調べています。
※COUNTA関数は、値や文字列などデータが入力されているセルの個数を数える関数です。「COUNTA(練習用!$A:$A)」で、A列に入っているデータの個数を数えます。
最後の「-1」はタイトルの1行目を印刷範囲に含めないので調整のための数字です

次の「COUNTA(練習用!$3:$3)」は
3行目全てを見て文字が入力されている数を数えます
これで、印刷する列数の幅を調べています。







