Excel

連番を設定する方法

下図のように、ある列や行に連番を振りたいというとき。



ワークシート関数 ROW() や COLUMN() を使うことにより、簡単に実現できます。
ROW() は現在の行を返し、 COLUMN() は現在の列を返します。
現在編集中のセルが C5 であった場合、 ROW() は 5 、 COLUMN() は 3 を返します。
今回の場合、 2 行目の北海道の左には 1 を設定したいので、
= ROW() - 1 と入力しましょう。



あとは他の行にも同じ式を記述すればいいわけですが、
Excel では式もコピーできますので、わざわざ他の行すべてに入力する必要はありません。
下図左の操作を行うと隣接する列のデータが途切れるまでコピーを実行し、下図右のようになります。



キーボード派の方は、

  • Ctrl + End でデータ終端位置に移動
     (今回の場合 2 列目のデータに途切れはないので → , Ctrl + ↓ でも同じ結果になります。)
  • カーソルを左に移動し、任意の文字列を入力
  • Ctrl + ↑ で式を入力したセルへ移動
  • Ctrl + C でセルをコピー
  • Shift を押したまま Ctrl + ↓ で 一番下まで移動後 Enter 押下で貼り付け

という手順が速くていい感じですが、
今回の例ではたったの 47 件なので ↑↓ で地道にカーソルを動かしても特に問題はありません。

さて、ここでデータを保存してもいいのですが、
番号さえ振り終わってしまえば ROW() - 1 という式はもう必要ありません。
値の貼り付けを実行し、現在のセルの値だけを残しましょう。
1 列目を全てコピーし、右クリックで【形式を選択して貼り付け】を選択します。
そこで【値】を選択し貼り付け実行。これで 1 , 2 などの数値のみが設定された状態になります。



見た目は何も変わりませんが、式の数が膨大な量になった時、
消費メモリや保存容量に大きな影響を与えます。データは可能な限りスリムにしてあげましょう。

以下はちょっとした実験です。 1 列目で降順に並べ替えを実行するとどうなるか?
左が式が設定されている場合、右が値のみが設定されている場合の実行結果です。