見出し画像

[EXCEL] エクセル超基本 番号(通番)の入力方法

目次 > 入力 > 連番・枝番

【まとめ】
番号(連番)の入力方法(既にデータが入っている場合)

○ 推奨(⑥の応用)=SEQUENCE(COUNTA(B:B)-1) 

○ その他
① 手入力
② フィル(1、2を入れたら、セル右下の「+」をドラッグ)
③ フラッシュフィル(1を入れたセル右下の「+」をダブルクリック)
④ =上のセル+1
⑤ ROW関数 =ROW()-1  (1:表頭の行数)
⑥ SEQUENCE関数 =SEQUENCE(最後の数字)
⑦「連続データ」ダイアログ



【説明】
番号(連番)付けは、何事においても、基本中の基本ですが、意外と(かなり)できていません。

前記事でも番号付けの重要性をクドクド書いております。よろしければどうぞ。
データには番号を振る。番号付けは効率化の基本。




番号(連番)付けの意義が分かっていない場合もありますし、「番号(連番)付けは手間」「簡単に番号を付ける方法を知らない」(だから付けない)という場合も多いようです。

番号(連番)付けが簡単にできると、その後の業務の効率化に繋がります。

以下、番号(連番)付けの方法をいくつか示します。
なお、以下は「既にデータが入っている表」に番号を振る場合です。
「データを入力しながら番号を自動で入れる」方法は別記事にします。


番号の入力方法

① 手入力(非推奨)

これはやめましょう。
せいぜい、5つぐらいまで。
時間も掛かるし、手入力は打ち間違いの元です。
延々と番号(連番)を手入力して「仕事をした気」になっている人もいますが、「時給泥棒」です。


②「1,2」を入れたら、セル右下の「+」をドラッグ(非推奨)

「フィル」(FILL/満たす)という機能を使います。
「1,2」を入れたら、「1,2」を範囲選択したまま、「2」の右下にカーソルを当てます。

NOの列は見やすいように
中央揃えしています(以下同)

「+」が出てきたら、ドラッグ(マウスの左ボタンを押したままマウスを下にずらす)します。

これで連番が入ります。

「1」だけ入れて「+」をドラッグしても連番が入ります。
ただし、ドラッグをやめる時(マウスの左ボタンを離す前)に、Cntlキーを押している必要があります。Cntlキーを押さないと、「1」が入ります(単なるコピー)。

Ctrlキーを押し忘れて全セルに「1」が入ってしまっても、やり直す必要はありません。
右下の黒い部分をクリックし、「連続データ」を選択すれば、「1.2.3・・・」と連番が入ります。

上図は一度「連続データ」を
選択してから、再度、
黒四角をクリックしています

この方法は簡単ですが、①同様お勧めしません。
理由は以下の通り。
・マウスに手を伸ばす必要がある。
・「+」マークを出すのがちょっとストレス。
・データ数が多いと、ドラッグに時間がかかる。
ドラッグの手間を考えれば、せいぜい数十件ぐらいまででしょう。


③ フラッシュフィル(「1。2」を入れたセル右下の「+」をダブルクリック)

「1,2」を入れて、「1,2」セルを選択したまま、「2」セルの右下に「+」が出たら、ダブルクリックします。

フラッシュフィル(「一瞬で満たす」的な意味?)という機能です。
これで、連番が入ります。

ただし、この方法は、番号を入れたいセルの隣にデータが入っていないと使えません。

また、空白行があると、連番はそこで止まります。

7行目が空いているので、
連番も止まっています

データが入っているセルがあっても、その前で番号は止まります。

9行目に「○」が入っていたので、
連番は「7」までになっています。

マウスに手を伸ばす必要はありますが、ドラッグする必要がないので、便利です。
ただし、カーソルをセル右下に当てて「+」を出すことにストレスを感じる人(=私)には不向きです。


④ =上のセル+1

初歩的な数式を使ったものです。
最初の「1」は手入力します。
次のセルには、=上のセル+1と入れます。

これで「2」となります。
あとは「2」のセルをコピーするだけ(フラッシュフィルでもいい)。

★注意★
途中の行を削除すると、以降の番号がエラーになります。
下の図では、NO7の行を削除した結果です。

計算式に使っている上のセルが削除されたため、「#REF!」(参照データがないといいうエラー)と表示されます。
「#REF!」と出ている一番上のセルに、その上のセルをコピーすれば、新たな番号が入ります。

また、並び替えをするとエラーになります。

A2は、=A1+1となり
エラーになってしまいます。

・一度付けた番号(連番)を固定したい場合は、番号列をコピー(CTRL+C)した後、「値のみ」貼り付け(Alt ⇒ E ⇒ S ⇒ V 等)すると、行を削除しても、番号は変わりません。


⑤ ROW関数 =ROW()-1  (1:表頭の行数)

ROW関数を使って番号を入れます。
ROW関数は、セルの行番号を取り出す(返す)関数です。

B2セルに =ROW() と入れれば(カッコの中は空欄)「2」(B2の2)と表示します(返します)。
B2セルから「1」と番号を振るためには、
=ROW()-1
とします(実際は全て半角)。

右上の数式バーに
=ROW()-1
と入っています。

後は、セル右下に「+」が出たら、ダブルクリックします。

これで、下のセルにも同じ計算式が入り、連番が表示されます(各セルの行番号から1を引いた数値が入る)。

先述の通り、ダブルクリックによる「フラッシュフィル」は、隣のセルにデータが入っている場合のみ有効です。
隣のセルにデータが入っていない場合は、「+」をドラッグします。
あるいは、計算式が入っているセルを含めて連番を入れたいセルまで範囲指定した後、Ctrl+D で数式をコピーします。

★注意★
・上の方法で番号を入れた後、行削除や並び替え(ソート)をすると、番号が変わります。
・行を挿入した場合、番号欄は空欄になります。
上のセルをコピーすると番号(連番)が入ります。
挿入した次の行の番号は自動で変わります(挿入した行数分だけ、数が増える)
・(再掲)一度付けた番号(連番)を固定したい場合は、番号列をコピー(CTRL+C)した後、「値のみ」貼り付け(Alt ⇒ E ⇒ S ⇒ V 等)すると、行を削除しても、番号は変わりません。


⑥ SEQUENCE関数を使う(推奨)

SEQUENCE関数(シーケンス/続くとか番号などの意味)を使うと、連番が簡単に入れられます。
1を入れたいセルに、=se と入れると、関数候補が出ます。
「↓」で「SEQUENCE」を選択したら、Tabキーを押します(Enterではないので注意)。

Tabキーで確定します

=SEQUENCE( と出るので、連番の最後の数値を入れます。

判りやすいように、列幅を広げています

その後、Enterで確定します(閉じカッコは不要)。

これで連番が入りました。

マウスを使わなくても、ドラッグしなくても、一瞬で番号を入れることができるので便利です。
これは、エクセルの新しい機能(オフィス2021から?)であり「スピル」(SPILL/こぼれる・溢れるの意味)によるものです。
最初のセルに入れた関数が下のセルにもこぼれていく・溢れていく、ことから名づけられたようです。
SPILL というと、私は
「It is no use crying over spilt milk」(こぼれたミルクを嘆いても仕方がない/覆水盆に返らずと同義)を思い出します(spilt は spillの過去分詞)。高校の英語で習いましたよね(ことわざ好きでした)。


★注意★
・最初のセルでSEQUENCE関数を消すと、連番は全て消えます(こぼれる元がなくなるから)。途中の数字は消せない(すぐにこぼれてくるから)。
・一度、SEQUENCE関数で番号を振った後、行挿入や行削除はしない方が無難です。
行挿入/削除すると、番号は自動で変わりますが、データ行が増える/減るだけで、番号の総数は変わりません(解決策は後述)。
例えば、1行挿入してみると・・・

1行挿入されたため、B,Cのデータ部分には空白行ができましたが、A列の番号は変わっています。
ただし、最後の番号は10のままで止まっています。

逆に1行削除してみると・・・

B,C列のデータは消えましたが、番号はそのままです。
これは、最初のセルの「=SEQUENCE(10)」が、「10まで番号を振れ」という指示になっているためです。カッコ内の数値が変わらない限り、同じ番号まで振り続けます。

・(再掲)一度振った番号(連番)を固定したい場合は、番号列をコピー(CTRL+C)した後、「値のみ」貼り付け(Alt ⇒ E ⇒ S ⇒ V 等)すると、行を削除しても、番号は変わりません。

・番号は固定しなくていいけれど、行を増や/減らしたら、番号も自動で増える/減るようにしたいときは・・・
=SEQUENCE(COUNTA(B:B)-1) と入れます。


=SEQUENCE(COUNTA(B:B)-1) は、「B列のデータの数をCOUNTA関数で数えて、項目(都道府県)の行数である1を引いた数までの連続番号を入れる」という意味です。

これにより、行挿入/削除で、データ数が増える/減る場合でも、番号は自動で変わります。

例:1行削除した場合

1行(7番のデータ)を削除
すると、連番も10から9に自動で変わります


・SEQUENCE関数をコピーする場合、コピーするセルの下のセルにデータが入っていると「#スピル!」というエラーが出ます。

A3の2以下は
最初から手入力ではいっていたものです
そこへA2セルに数式をコピーすると、
上のようにエラーが出ます

これは、A2の数式によって、A3以下のセルにデータを入れたい(A2からデータを溢れさせたい=スピルさせたい)のに、A3以下にはすでにデータが入っているので、溢れさせることができない、というエラーです。
この場合は、A3以下のデータを削除すると、A2セルの数式によってA3以下のセルにも番号が入ります。

・SEQUENCE関数で番号を入れると、並び替えができません。
例えば、「都道府県名で並び替えをしたい」と思ってもできません。
並び替えをしたい場合は、全部の通番が確定した後、列全体をコピー(CTRL+C)してから、そのまま「値のみ貼り付け」(Alt ⇒ E ⇒ S⇒ V 等)しておきます。
これにより、並び替えが可能となるとともに、並び替えをした後でも、この「通番」を元に並び替えせば、元の順番に戻せます。


★便利技★
便利なSEQUENCE関数ですが、何番まで番号を入れればいいか、わからないと使えません。
「データの全部に番号を振りたい」場合、データ数が分からないと入れられません。
先述の通り =SEQUENCE(COUNTA(B:B)-1) を使えば、データがいくつであっても、意識する必要はありません。
COUNTA関数は使わずに、サクッと番号を振りたい、という場合は、どこかのデータ列(すべての行にデータが入っている列)を選択します。

すると、エクセルの右下に「データの個数」が出ます。

データの個数: 11 と出ている

この個数から1(項目の数)を引いた数を入れれば連番が出ます。

たたし、後々のことを考えると、やはり =SEQUENCE(COUNTA(B:B)-1) 等、自動で番号が振られるようにしておいた方が便利(ミスが減る)でしょう。


また、=SEQUENCE(365*3)のように、カッコ内に数式を入れることも可能です(1日3行の年間表を作りたい、といった場合に便利です。詳細別途)


⑦ 「連続データ」を使う

Alt ⇒ H(ホーム) ⇒ F ⇒ I  ⇒ S で「連続データ」ダイアログ(小ウィンドウ)を開く。

「範囲」の「列」を選択、
「停止値」に最後の番号を入れたら、「OK」押下。

これで番号が入ります。

正直、この方法、忘れていました。
というか、ほぼ使ったことありません。面倒だから。
最初に「1」を入れなきゃいけないし、「列」を選択しなきゃいけない。
そもそも、連続データを入れるのだから、ツールバーの「データ」のところにあるかとおもいきや、「ホーム」の端っこにある。
こんなの、見つけられません。
FI(フィ)ルをS(ス)タート、とでも覚えましょうか・・・

おまけに、最初のセルには「1」を入れておかないといけないし、終わりを何にすればいいかなんて、数えないと分からない・・・。
面倒で使えません。

ただし・・・
逆に言えば、始まりと終わりを自由に設定できる、ともいwます。
あるいは、日付の入力などでは使える場合もあります(あまりお勧めしませんが)。


以上、基本的なところですが、参考になれば幸いです。
もし何か「発見」があったら、「スキ」「フォロー」「チップ」していただける嬉しいです!


★おまけ★
下のように、全体の通し番号(NO1)を入れつつ、個別の項目(都道府県)別の通し番号(NO2)も入れる場合はどうすればいいでしょうか?

また、下図のように、個別の項目(都道府県)がまとまっていない場合は、どうすればいいでしょうか?

あるいは、同じ項目(例:同じ都道府県)には同じ番号を入れ、個別のデータには枝番を振りたい場合(例:1-1、1-2)はどうすればよいでしょうか?

これについては、「超基本」の範疇を超えるので、別記事にします。

これとは別に、1(2)行おきに番号を入れたい、なんてこともあるかと思います。それも別途(ネットには既に多々やり方は出ていますが)。
前述のとおり、「データを入れながら、自動で番号が入る」方法も別記事にします。

(作業 2日 4h)

・前記事はこちら
データには番号を振る。番号付けは効率化の基本。

いいなと思ったら応援しよう!