(更新日:2022/01/02)
IF関数とMAX関数を組み合わせることで、空白セルをスキップしつつ、データが存在するセルにだけ、通し番号を入力する方法が学べます。
想定読者
「データの無いセルは番号を入れずに飛ばして、通し番号の入力をしたい!」という方。
「ROW関数やオートフィルじゃもの足りない! ライバルに差を付けたい!」という方。
この記事を書いた人
- Microsoft Certified Trainer 2021-2022(マイクロソフト認定トレーナー)
- MOS Excel 2019&365 Expert/Associate取得
MOS(Microsoft Office Specialist)については、こちらの記事
「MOS Excel試験の攻略法!」を参照ください。
完成図
下図のように、B3~B12セル(黄色箇所)に、#1~10の通し番号が入力できたら完成です。
なお、B3~B12セルに入力した数式は、E列に表示しています。

途中に空白セル(C6, C10)がある場合は、空白セルを飛ばして通し番号が表示されます。
(今回だと、10個のセルのうち、C6とC10のデータが無いので、通し番号としては、#1~8)
B6とB10には数式が入っていますが、IF関数によって、通し番号が非表示になっています。

作成手順
通し番号の始点に「1」を入力
今回の例だと、 通し番号の始点 = B3セルに、数字の「1」を半角で手入力します。

始点の真下のセルに、数式(IF&MAX関数)を入力。
始点の真下のセル=B4セルに、「 =IF(C4=””,””,MAX($B$3:B3)+1) 」と入力してEnterキーを押します。C4セルは、通し番号を付けたいセル、B3セルは、通し番号の始点です。
【注意】MAX関数の範囲指定では、範囲の始点を絶対参照($B$3)にしておきましょう。一方、範囲の終点は、下にコピーしたときにうまくズレてくれるよう、相対参照にしておきます。

無事にB4セルに数字の「2」が表示されました。

残りのセルに数式をコピー
B4セルを、B12セルまでコピー します。マウスでやるなら、オートフィル機能、ショートカットキーなら、Ctrl + D でコピーができます。

B4~B12セルに、2~10までの通し番号がうまく表示されましたか? うまくいかない場合は、MAX関数の範囲指定において、範囲の始点が絶対参照になっているか? 範囲の終点は相対参照になっているか確認しましょう。

完成
B4~B12セルに、1~10の通し番号が入力されたら完成です。

途中に空白セルがあったら、どうなるでしょうか? 試しに、C6セルとC10セルのデータをDeleteしてみましょう。空白セル(C6, C10)を飛ばして通し番号が表示されます。(今回だと、#1~8)

ポイントのおさらい
- IF関数を使って、データが空(から)の場合、そのセルを飛ばして通し番号を表示します。
- MAX関数の範囲選択時に、範囲の始点を「絶対参照」、終点を「相対参照」にします。
注意点
行の追加や削除によって、数式を入れておいたセルの参照が、ずれてしまうことがあります。セルの右上に緑のマークが出ているセルがあったら、そのセルに入力されている数式を確認し、参照がずれていないかチェックしてみてください。
まとめ
- IF関数とMAX関数をうまく組み合わせて、通し番号を入力してみました。
- 他にも、ROW関数やオートフィルを用いた通し番号の入力方法もあります。
- 空白セルを無視して、通し番号を入力するには、今回の方法が最適です。
最後まで読んでくれてありがとうございます。
それではまた!