
ExcelやGoogleスプレッドシートで、条件に合うものだけ連番を振る方法をご紹介します。条件を空白以外<>""とする場合に、IFERRORやXLOOKUPといった関数による空白を除外する方法も解説しているので、ぜひ参考にしてみてください。
特定の条件の行に連番を振る

特定の条件と一致するセルに連番を振りたい場合、IF関数とCOUNTIF関数を組み合わせます。
たとえば、A列が「りんご」のセルだけに連番を振りたい場合、数式は次のようになります。
例:=IF(A2="りんご",COUNTIF(A$2:A2,"りんご"),"")
数式の解説
- IF関数:対象のセルが空白なら空白を、そうでなければCOUNTIF関数の結果を表示させます。
- COUNTIF関数:範囲内にある、条件と一致するセルの個数をカウントします。
ポイント
A$2:A2のように、開始位置のみ絶対参照($を付ける)にします。これにより、数式をコピーしたときに範囲が1行ずつ拡張されることで、連番を生成できます。
COUNTIF関数の引数:(範囲, 条件)
空白行を飛ばして連番を振る

空白のセルを飛ばして連番を振りたい場合、数式は次のようになります。SUMPRODUCT関数を使うとことで、数式によって表示された空白も無視できます。
例:=IF(A2="","",SUMPRODUCT((A$2:A2<>"")*1))
数式の解説
- IF関数:対象のセルが空白なら空白を、そうでなければSUMPRODUCT関数の結果を表示させます。
- SUMPRODUCT関数:範囲内の各セルが空白ではない場合に
TRUEを、空白の場合にFALSEを返します。TRUEを1、FALSEを0として合計するため、空白でないセルの個数だけをカウントします。
ポイント
A$2:A2のように、開始位置のみ絶対参照($を付ける)にします。これにより、数式をコピーしたときに範囲が1行ずつ拡張されることで、連番を生成できます。
SUMPRODUCT関数の引数:(配列1, [配列2, …])
まとめ
この記事では、ExcelとGoogleスプレッドシートの両方で使える、条件を指定して連番を振る方法を解説しました。
- 特定の条件に連番を振る
=IF(A2="文字",COUNTIF(A$2:A2,"文字"),"")- COUNTIF関数を使うことで、特定の文字や、「〜以上」や「〜より大きい」といったさまざまな条件に一致するセルに連番を生成できます。
- 空白行を飛ばして連番を振る
=IF(A2="","",SUMPRODUCT((A$2:A2<>"")*1))- SUMPRODUCT関数を使うことで、数式による空白も無視できます。
どちらの方法も、A$2:A2のように開始位置を絶対参照にすることで、数式をコピーして連番を生成できます。