Excel 10面ラベル印刷 ― Print_Area数式で空白シールを自動除外
目次
1. この記事でできること
市販の10面ラベルシール(A4に左右2列×5段=10面)にExcelだけで宛名やバーコードを印刷します。データ件数に応じて Print_Area が自動的に伸縮するため、8件しかデータがなければ1枚目だけが印刷され、空白シールだけの2枚目は出力されません。VBAもWordの差し込み印刷も使わないので、Excelの基本操作ができる人に渡してそのまま作業してもらえます。
2. 前提:10面ラベルシールの構成
A4用紙1枚に10面のラベルが並びます。Excel上では1面あたり5行を使い、左右2列で合計6列(A〜F列)を使用します。1ページ=5段×5行=50行です。この「50行で1ページ」という単位が Print_Area の CEILING 計算の基礎になります。
東京都…
大阪府…
北海道…
福岡県…
愛知県…
神奈川…
埼玉県…
千葉県…
京都府…
兵庫県…
静岡県…
広島県…
宮城県…
新潟県…
長野県…
3. Excel シートの設計
ブックには最低2つのシートを作ります。「宛先リスト」にデータを一覧で入力し、「ラベル」シートが印刷用のレイアウトになります。
▼ ラベルシートの Excel 上の構成(A〜F列、1面=5行、1ページ=50行)
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | 〒 =VLOOKUP(...) | 〒 =VLOOKUP(...) | ||||
| 2 | 住所1 | 住所1 | ||||
| 3 | 住所2 | 住所2 | ||||
| 4 | 会社名・部署 | 会社名・部署 | ||||
| 5 | 氏名 様 | 氏名 様 | ||||
| 6 | ── 2面目開始 ── | |||||
| 6 | 〒 =VLOOKUP(...) | 〒 =VLOOKUP(...) | ||||
| … | (以降 5行単位で繰り返し) | |||||
| 46 | 〒 =VLOOKUP(...) | 〒 =VLOOKUP(...) | ||||
| 47-50 | 住所〜氏名 | 住所〜氏名 | ||||
▼ 宛先リスト(データ入力シート)
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | No | 氏名 | 郵便番号 | 住所1 | 住所2 | 会社名・部署 |
| 2 | 1 | 山田太郎 | 100-0001 | 東京都千代田区… | ◯◯ビル3F | 株式会社ABC 営業部 |
| 3 | 2 | 鈴木花子 | 530-0001 | 大阪府大阪市… | DEF株式会社 総務部 | |
| … | (データを下方向に追加) | |||||
4. ラベルシートに数式を仕込む
ラベルシートの各セルには VLOOKUP(または XLOOKUP)を使い、宛先リストからデータを自動取得します。ポイントは「何番目のデータを取得するか」をセルの行位置から逆算する仕組みです。
4-1. 面番号の計算
各面が何番目のデータに対応するかを算出します。左面(A列側)と右面(D列側)で計算が異なります。
4-2. VLOOKUP で宛先を取得
左面のA1セル(郵便番号行)に入れる数式の例です。面番号を VLOOKUP の検索値として使います。
住所1(2行目)、住所2(3行目)、会社名(4行目)、氏名(5行目)も同様に、VLOOKUP の列番号を 4, 5, 6, 2 に変更するだけです。氏名の場合は末尾に「&" 様"」を付けます。
4-3. 数式のコピー
A1:C5(左面1面目)とD1:F5(右面1面目)の数式が完成したら、A1:F5 を選択して50行目(A50:F50)まで一括コピーします。ROW() を使っているので面番号が自動的に変わり、10面すべてに正しいデータが表示されます。2ページ目以降も同様に50行単位でコピーを続けます。
5. Print_Area に動的数式を設定する
データ件数が変わっても印刷範囲が自動調整されるよう、名前の管理で Print_Area に数式を設定します。
Print_Area、範囲を「ラベル」シートにします)。XLOOKUP 版(Microsoft 365 推奨)
XLOOKUP で A列に値がある最終行を検索し、CEILING で50の倍数に切り上げます。データ15件なら最終行は38行目付近 → CEILING(38,50)=50 → 1ページ分。データ11件なら最終行は30行目付近 → CEILING(30,50)=50 → やはり1ページ。データ11件で右面にも配置されるので最終行は実際にはもう少し下がり、場合によっては2ページに及びます。
COUNTA 版(Excel 2019 以前)
6. データ件数と印刷ページの対応
| データ件数 | 最終データ行 | CEILING(最終行, 50) | 印刷されるA4用紙 (=シール)の枚数 |
Print_Areaに 設定される範囲 |
|---|---|---|---|---|
| 5件 | 15行目 | 50 | 1枚 | A1:F50 |
| 10件 | 25行目 | 50 | 1枚 | A1:F50 |
| 11件 | 30行目 | 50 | 1枚 | A1:F50 |
| 15件 | 40行目 | 50 | 1枚 | A1:F50 |
| 20件 | 50行目 | 50 | 1枚 | A1:F50 |
| 21件 | 55行目 | 100 | 2枚 | A1:F100 |
| 30件 | 75行目 | 100 | 2枚 | A1:F100 |
| 50件 | 125行目 | 150 | 3枚 | A1:F150 |
7. 印刷手順(実際の操作フロー)
8. 10面ラベルの構成イメージ
実際のA4ラベルシール上の配置を示します。データは上から順に左→右で配置され、シール1枚(=1ページ)の中で使い切ります。
〒100-0001
東京都千代田区…
〒530-0001
大阪府大阪市…
〒060-0001
北海道札幌市…
〒810-0001
福岡県福岡市…
〒460-0001
愛知県名古屋市…
〒220-0001
神奈川県横浜市…
〒330-0001
埼玉県さいたま市…
〒260-0001
千葉県千葉市…
〒600-0001
京都府京都市…
〒650-0001
兵庫県神戸市…
〒420-0001
静岡県静岡市…
〒730-0001
広島県広島市…
〒980-0001
宮城県仙台市…
〒950-0001
新潟県新潟市…
〒380-0001
長野県長野市…
9. トラブルシューティング
Print_Area の数式が消えた
「印刷範囲の設定」ボタンを誤ってクリックした可能性があります。「名前の管理」を開いて Print_Area の参照範囲を確認し、静的な範囲(例:=$A$1:$F$50)に変わっていたら、セクション5の数式を再入力してください。数式を印刷範囲外のセル(例:Z1)にテキストとしてメモしておくと復旧が簡単です。
宛名がズレている
VLOOKUP の列番号が間違っている可能性が高いです。郵便番号=3列目、住所1=4列目、住所2=5列目、会社名=6列目、氏名=2列目であることを確認してください。
空白ページが印刷される
CEILING の計算結果が実際のデータ行数より大幅に大きい場合、空白面だけのページが含まれます。COUNTA が空白セル以外のセル(ヘッダーや数式で空文字を返すセル)をカウントしていないか確認してください。IFERROR で "" を返す数式はCOUNTAでカウントされるため、XLOOKUP 版の数式を使う方が安全です。
10. まとめ
10面ラベルシール印刷は、1面=5行・1ページ=50行という単位を基準に VLOOKUP で宛先を配置し、Print_Area に CEILING を使った動的数式を設定することで実現します。データ件数に応じて印刷枚数が自動調整されるため、空白シールだけのページは印刷されません。Word の差し込み印刷が使えない人にも渡せる手軽さがある反面、テンプレートを多く仕込む分ファイルサイズが大きくなる点、数式のセットアップミスがそのまま印刷ミスにつながる点には注意が必要です。