スプレッドシートで連番を振る事はとても多いと思いますが、思うように連番が振れない事が結構あります。
実際に陥った困ったケースと、解決策をまとめました。
この記事はできる限り丁寧に、スプレッドシートで連番を崩さず振る方法をまとめています。
困ったケース
以下2点、あるあるなケースだと思います。
連番が思うように振れず困った人も多いのではないでしょうか。
結合されたセルに連番を振る
連番を振るオーソドックな方法としてドラッグドロップがあると思います。
こんな感じで。
結合されてないセルや、結合されたセルでもエクセルだったらこれで問題ありません。
しかし結合されたセルにスプレットシートの場合、以下のような意図しない連番になってしまいます。
当たり前にできるつもりでやると意表をつかれます。。
可変の行に自動で連番を振りたい
入力済のデータに対して、行を追加したり、削除したり、
都度連番を振りなおすのって、とっても大変ですよね。。
例えばこんな感じ。
9行目を削除しました。
そうすると、当たりまえですが、9が歯抜けなります。
こうなったとき再度、連番を振り直していませんか??
連番が膨大になってきたり、頻度が増えてくると振りなおすのが大変になってきますし、効率めっちゃ悪いですよね。。
解決策
ROW関数を使えば全て解決します!
ROW関数を使うというのが結論ですが、「結合されていないセルに使用するのか」、「結合されているセルに使用するのか」で数式が変わってくるのでそれぞれ共有します。
結合されていないセルに対して
まずは「No.1」にしたいセルにカーソルを合わせて式を入力します。
こんな感じ。
=ROW()-1
となってますね。
式を具体的にいうと以下のようになります。
=ROW() – 任意の数 = 1
関数の適応は、関数を入力したセルを選択し下までドラッグドロップするだけです。
補足
「任意の数」というのが気になりますが、これはそのままの意味で、最終的にイコール「1」になればいいのです。
なので以下のように遠回りしても最終的にイコール「1」になればきれいな連番になってくれます。
結合されているセルに対して
入力方法や適応方法は結合されていないセルの時と一緒ですが、数式を考慮しなくてはいけません。
具体的には以下のようになります。
=ROW() / 結合したセルの数 – 任意の数 = 1
ポイントとしては結合したセルの数を考慮することですね。
補足
結合したセルの数が偶数であればわりと素直な「任意の数」でイコール「1」になってくれるのですが、奇数だとちょっと複雑になってしまうかもしれません。
※シンプルな数式等あればご教示いただきたいです。。
まとめ
以上を踏まえれば「結合されたセル」や「可変な行」でも形を崩さず連番をキープできるはずです。
例えば以下のようなテーマの融合体でも…
以下の様に自動で連番がキープされてます!
以上となります。