Googleスプレッドシートで、空白セルを除いて連番を振りたいときってありませんか?
例えば、データのある行だけに1, 2, 3…と連番をつけたい場合、SUMPRODUCT
関数を使うと簡単に実現できます。

この記事では、空白を飛ばして連番をつける具体的な数式とその仕組みについて解説します。
目次
空白を飛ばして連番をつける方法
例:A列に文字列、B列に連番を表示したい場合
- A列に任意のテキストを入力(途中に空白行があってもOK)
- B1セルに以下の数式を入力し、下方向にコピーまたはオートフィルします。
=IF(A1="","",SUMPRODUCT((A$1:A1<>"")*1))
数式の解説
IF(A1="", "", ...)
→ 空白セルの場合は空白を返し、値があるときのみ連番をつけるA$1:A1<>""
→ 範囲内のセルが空白でないかどうかを判定(TRUE / FALSE)(A$1:A1<>"")*1
→ TRUE/FALSE を 1/0 に変換SUMPRODUCT(...)
→ 上記の 1/0 を合計=これまでに出現した非空セルの数 → 連番になる
応用:空白セルに「なし」と表示したい場合
以下のように変更すると、空白セルには「なし」と表示されます:
=IF(A1="", "なし", SUMPRODUCT((A$1:A1<>"")*1))
まとめ
- 空白を無視して連番を振りたいときは
SUMPRODUCT
関数が便利 - IF関数と組み合わせれば、空白セルに任意のメッセージも表示可能
ちょっとしたことですが、データ整理の効率がグッと上がります。ぜひ活用してみてください。