OFFSET関数による、印刷範囲を自動伸縮!

Excel OFFSET関数を使い印刷範囲を自動伸縮する方法を紹介するガイドのタイトル画像

OFFSET関数を使えば、データ件数に応じて印刷範囲が自動伸縮します。

毎回手動で範囲を選ばなくても済み、ミスも省けます。

本記事でのゴールは、次のような「印刷範囲の自動伸縮」を目指します。

※GIFが小さくて見づらい場合は、クリックすると拡大します。

手順1:サンプル表を準備

本記事では以下のサンプルデータを用意しました。


A列:NoB列:商品名C列:売上金額
1商品A100
2商品B200
3商品C150
4商品D300
5商品E250
6商品F180
7商品G210
8商品H190
9商品I220
10商品J260
11商品K240

手順2:通常通り、印刷範囲を設定する

次の手順に沿って、通常通り、印刷範囲を設定します。

ここまでは簡単ですね。慣れたものです


範囲指定→「ページレイアウト」→「印刷範囲」→「印刷範囲の設定」


手順3:「数式」→「名前の管理」→Print_Areaを選択

次の設定します。

💡 仕組みをちょっとだけ解説します

Print_Areaとは?

手順2で設定した印刷範囲のことです。
範囲を指定すると、自動的にこの名前が作られます。

仕組みとしては…

Print_Areaをデータ件数に合わせて自動的に伸縮させます。

こうした「動的な範囲指定」を実現できるのが OFFSET関数です。

ここまでは簡単ですね。慣れたものです


「数式」→「名前の管理」→「Print_Areaを選択」→「参照範囲を次の式に置き換える」

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

  • OFFSET:基準セル($A$1)から行列移動なし
  • 高さ:B列の入力行数
  • 幅:2行目の入力列数


Offset関数の仕組みを詳しく知りたい方へ:https://biz-data-analytics.com/excel/1893/

手順4:入力を追加→改ページプレビューで確認

B列に商品を追加すれば、印刷範囲が自動伸縮して反映されます。



✅ 注意点とご案内

注意点(OFFSET+COUNTA方式)

📌 別記事で紹介予定(テーブル化)

OFFSETの課題をそもそも避けたいなら、範囲を テーブル形式 にする方法もあります。

  • データの追加・削除に自動で対応
  • どの列に入力しても範囲が拡張
  • COUNTAの数式管理が不要

👉 テーブル化の詳しい使い方は、別記事で具体的に紹介予定 です。

🧑‍🏫 まとめ

OFFSET関数を使った印刷範囲の自動伸縮は、データ追加・削除に強く、手間ゼロの実務向け設定
ただし空白セルや基準列の取り方には注意が必要です。

👉 OFFSET方式の弱点を避けたいなら、テーブル化 という選択肢もあります(詳細は別記事で解説予定)。