数式・関数

【Excel】行削除や並べ替えをしても崩れない通し番号をふる

スポンサーリンク
この記事は約5分で読めます。
関数で通し番号 タイトル画像

Excelで作成した表に通し番号をふることはよくありますが、セルに直接数字を入力しただけではちょっとした操作で番号の並びが崩れてしまうことがあります。

例えば重複行や不要行を削除したために番号が飛び番になったり・・・

行削除で通し番号が飛び番になった状態

通し番号以外の項目で並べ替えをしたら番号の並びがばらばらになってしまった!なんて経験はありませんか?

並べ替えで連番の並びが変更された例

このような事態を未然に防止する方法として、今回は「ROW(ロウ)関数「COLUMN(カラム)関数」を使用した可変式の通し番号のふり方を紹介します。何だかんだとしょっちゅう番号の振り直しをしているという方はぜひ試してみてください。

※解説画像はMicrosoft365のExcelを使用しています

スポンサーリンク

ROW関数で縦方向に通し番号をふる

まず、縦方向(列)に通し番号を入れる手順から見ていきます。
この場合は、行番号を調べる働きがあるROW関数を使用します。式はこのような構成になります。

=ROW(参照)

引数(参照)には行番号を調べたいセルやセル範囲を指定しますが、省略することも可能です。省略した場合は、ROW関数が入力されているセルの行番号を返してくれます。

では下図の表を使い、行番号をどのようにして通し番号にするのかやってみます。カーソルは通し番号をふる範囲の先頭セル(ここではB3)に合わせておきます。

番号列の先頭セルにカーソル

[数式]タブ⇒「検索/行列」を順にクリックします。検索/行列関数の一覧が開きますので、下にスクロールして「ROW」をクリックします。(関数はアルファベット順に並んでいますので結構下の方にあります)

数式タブ 検索行列 ROWをクリック

関数の引数ダイアログボックスが開いたら、引数ボックスには何も入れずに[OK]をクリックします。

引数ダイアログボックス ブランクのままOK

引数を何も指定しなかったので、カーソルを置いていたセル(B3)の行番号「3」が表示されました。

セルB3に行番号が返された状態
はにわ先生
はにわ先生

セルや数式バーに直接数式を入力する場合も、
=ROW()
というように括弧内には何も入れないでおきましょう。

でも、ここは通し番号の先頭セルなので、「3」でなく「1」になってくれなくちゃいけませんよね。そこで、作成した数式に少し手を加えて結果の値が「1」になるように変更します。

数式バーに表示されているROW関数の式の後ろ(バー内で文字が何もないところ)をクリックして、式の終端に点滅カーソルを表示します。

数式バー クリックしてカーソルを表示

式の後ろに続けて「-2」と入力し、Enterを押して確定します。

式に-2を追加入力

先ほど「3」と表示されていた行番号が「1」に変化しました。

B3の値 1

=ROW()-2という式は「ROW関数で取得した行番号から2を引く」という意味になります。
表を作成する際は先頭行は見出しとして使用する事が多く、ワークシートの1行目と表の見出しを除いたデータの1行目がぴったり合うことはまずないと思いますので、このように数式の後ろに適宜引き算を入れて結果が「1」になるように調整してやりましょう。

ROW関数の仕組み

これで式はできあがりましたので、残りのセルには1つめの式をコピーします。他も自セルの行番号から2を引いた数を表示しますので、ちゃんと昇順の通し番号になってくれます。

残りのセルに数式をコピー

では、できあがったところで「No.3 PowerPoint基礎」と入力されている5行目を選択して削除してみます。

表の3行目を削除

通し番号を普通に数値入力しただけでは、行削除をしたあと番号が1、2、4、5・・・とひとつ飛んでしまう事になりますが、ROW関数を使っていれば行位置がずれても自動的に自セルの行番号-2の結果が再計算されるので、番号飛びする事はありません。削除でなく一部の行を「切り取り」⇒「切り取ったセルの挿入」で上下を入れ替えした時も同様です。

行削除の結果

次は、「参加人数」の列を基準に人数の多い順(降順)になるよう並べ替えしてみます。

参加人数 降順で並べ替え

並べ替えをしても、「No.」の各行は自分の行番号から2を引いた数を示してくれるので、通し番号の順番が崩れてばらばらになってしまう事はありません。

並べ替え前と並べ替え後の通し番号の比較

COLUMN関数で横方向に通し番号をふる

横方向(行)に通し番号を入れる場合は、列番号を調べる働きがあるCOLUMN関数を使用します。式はこのような構成になります。

=COLUMN(参照)

引数の(参照)には列番号を調べたいセルやセル範囲を指定します。引数を省略すると、COLUMN関数が入力されたセルの列番号を返します。

使い方はROW関数の時とほとんど変わりありません。番号をふる範囲の先頭セルにカーソルを置き、[数式]タブ⇒「検索/行列」⇒関数の一覧から「COLUMN」をクリックします。

数式タブ 検索行列 COLUMN

関数の引数ダイアログボックスが開いたら、引数ボックスには何も入れずに[OK]をクリックします。セルや数式バーに式を直接入力する時も、=COLUMN() というようにカッコ内には何も入れないでおきましょう。

この例ではC列、すなわち左から数えて3つめの列にCOLUMN関数を入れたので、最初の結果は「3」と表示されます。先と同様、ここは「1」にせねばなりませんので、数式バーをクリックして式の後ろに「-2」と追加入力します。入れ終わったらEnterを押して確定します。

数式バーで式の後ろに-2を追加入力

あとは残りのセルに数式をコピーすれば完了です。このあと列の削除や並べ替えを行っても番号の並びがおかしくなったりすることはありません。(この例では数式コピー後にセルの文字配置を中央にしています)

2行目に横方向の通し番号

ROW関数もCOLUMN関数も式自体はとてもシンプルですので、初級関数しか使ったことがないという方でも扱いやすいと思います。通し番号の入力が必要になった時に役立ててみてください。

※ROW関数やCOLUMN関数で入れた通し番号は表示形式で(1)(2)といった括弧書きにしたり、001などの頭に0をつけた番号にすることができます。表示形式の設定方法などは以下の回を参考にしてください。

参考回
スポンサーリンク