1/23/2021

Excel。2行連続・3行連続と連続して連番を設定したいけど、楽に設定するにはどうするの?【Serial number】

Excel。2行連続・3行連続と連続して連番を設定したいけど、楽に設定するにはどうするの?

<INT&ROW関数>

連番を設定する作業は、オートフィル機能を使うことで、いとも簡単に設定することができますが、次の帳票のように、連続した行になっていないと、オートフィルでは対応することが出来ません。


今回は、店舗ごとに連番を設定したいというのがやりたいこと。


各店舗には、上半期と下半期の2行で構成されています。


このような帳票だと、オートフィルで一発というわけにはいかないのです。


A列の左側にNOという見出しの列を挿入します。


A2に「1」と入力して、オートフィルをつかって、「連続データ」にすると連番を設定することができます。


ただ、今回は、店舗ごとに連番を設定したいわけです。


それでは、A2:A3に「1」と入力して、オートフィルをつかえば、連番が設定できるように思えますが、実行してみると、うまくいきません。


データの件数が少なければ、自力で入力するということでも、いいかもしれませんが、大変な事には変わりありません。


そこで、ちょっとした数式を作ることで、この問題から解放されます。


使うのは、INT関数とROW関数の2つです。

INT関数は、整数化するための関数ですね。

ROW関数は、行番号を算出することができる関数ですね。


では、A2に次の数式を設定しましょう。手入力でも対応できると思います。

=INT(ROW(A2)/2)


たったこれだけですが、数式を設定したら、オートフィルで数式をコピーしてみましょう。

 

このように、2行連続で、同じ番号で連番を設定することができました。

ポイントは、この数式の仕組みですね。仕組みがわからないと、表の起点が変わる、要するに、何行目にその行があるのかによって、「1」にするために、ちょっと考える必要が発生します。


数式の説明をしておきましょう。

ROW(A2)ですが、2行目なので、行番号の「2」が算出されます。

算出された「2」を2で除算します。算出結果は「1」ですね。

算出結果の「1」をINT関数で整数化されるので、「1」が算出されたというわけです。


なので、奇数行は、2で除算して、0.5の余りが発生しても、INT関数で整数化されるために連番を設定することができたわけです。


この仕組みがわかれば、3行連続とか、四半期ごとなどでも、連番を設定することができるようになります。


四半期の場合だと、次のようにすればOKですね。


A2の数式は、次のように設定してあります。

=INT(ROW(A4)/4)

ポイントは、どうやったら「1」を表示することができるのかですね。