スタッフブログ

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法

2022年04月25日 スタッフブログ 開発 関戸 

Excelで表を作った際、多めに罫線を設定したり、行番号を振っておくケースはよくありますが、この際、印刷すると入力がないデータまで印刷されてしまいます。印刷範囲をその都度設定し直せば対応できますが、大量にファイルがある場合はそれも大変です。

そこで、マクロなどは使わずに、印刷範囲を可変にしてデータがある行だけを印刷する方法をご紹介します。

 

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法1

こんな形のExcelのシートがあります。

No40までデータはありますが、それ以降は空白でNO.と罫線だけが残っている状態です。

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法2

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法3

この状態で印刷プレビューを表示すると、1枚に収まるはずであるものの、罫線が引かれている部分が2枚目以降に表示されます。

 

印刷範囲を可変にする手順

 

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法4

①適当なセルを選択し、「ページレイアウト」の中の「印刷範囲」-「印刷範囲の設定」をクリックします。

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法5

②「数式」の中の「名前の管理」をクリックします。

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法6

③「名前の管理」ダイアログが表示され、その中に「Print_Area」がありますので選択します。

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法7

④「参照範囲:」の中に以下の関数を入力します。

=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$B:$B),5)

【Excel】印刷範囲を可変にしてデータがある行だけを印刷する方法8

⑤印刷プレビューを表示すると、データの入力があるNO.40の行までが印刷範囲に設定されている事が分かります。

 

【解説】

 

・OFFSET関数は、Excelの関数の中で唯一範囲を返す関数だそうです。

・COUNTA関数を使い、B列にデータが入力されている件数をカウントし、その行数だけ印刷範囲に設定しています。

【注意】

上記を設定した後に余白や拡大縮小の設定などを変更すると、この関数がリセットされてしまい、可変ではない状態に戻ってしまう事があります。

印刷設定などを変更した際は念のため④を確認してください。

 

これらを組み合わせれば、データがある行だけを印刷範囲に設定した上で、集計行をフッターっぽく表示する事も可能です。

是非お試しください。