12/21/2015

Excel。SORT。並び替えをしても、常に1~の通し番号順にしたいけど、どうしたらいいの?


Excel。並び替えをしても、常に1~の通し番号順にしたいけど、どうしたらいいの?

<ROW関数>

今回ご紹介するのは、並び替えをしても、
常に、1~の通し番号順にしたいというものなのですが、意外かもしれませんが、
よくご質問があるものの一つなんですよ。

どのようなことなのかというと、下記の表があります。

B列には、1~の通し番号が振られています。

この表をG列の合計を降順で並び替えを行うと、

当然のことながら、レコード(行)ごとに並び替えされますから、
Noも連動して、1~ではなく、並び替わるわけですよね。

そこで、今回のご質問。この通し番号をこのような並び替えをしても、
常に1~の通し番号にしたいというわけです。

たしかに、自分で再度振りなおせばいい。
わけですが、それを毎度毎度やるのは、ナンセンスですし、面倒くさいですよね。

そこで、今回は、関数。ROW関数を使って常に、
1~の通し番号にする方法をご紹介していきます。

さて、どうやって、1という数値を持ってくることができるのか?を考えてみましょう。

並び替えをしても、
その表やテーブルとは無縁のところのデータを使わないといけないわけですよね。

そこで、行番号に着目してみましょう。

行番号は、表だろうがテーブルだろうが、行番号は行番号です。
その行番号を算出する関数はROW関数ですね。

では、NoのB列のデータをいったんすべて削除して、B4に

=ROW()

という数式を作ってみましょう。

行番号の4が算出されましたね。

ただ、この数式をオートフィルを使ってコピーしても、単に行番号が表示されるだけですよね。

そこで、もう一つアイディアを加える必要があります。

要するに、4を1にしたいわけですよね。
1行目からデータまでの行数。すなわち、3を減算してあげれば、1になりますよね。
すなわち、B4の数式を、

=ROW()-3

と修正すればいいわけですね。

これで、B4の数値は、1になりましたね。

それでは、オートフィルハンドルをつかって、数式をコピーしてみましょう。

さて、問題なのは、ココからですね。並び替えをしても、
1~の通し番号にしたいというのが目的でしたので、合計を降順で並び替えをしてみましょう。

G3をクリックして、データタブの並び替えとフィルターにある、降順ボタンをクリックしましょう。

それでは、どうなったのでしょうか?確認してみましょう。

希望通りに、1~の通し番号順になっていますよね。

これは、今回のような表でも出来ますし、テーブルにしても使えますので、
ちょっと、覚えておくといい、テクニックのひとつかもしれませんね。