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~の通し番号順になっていますよね。
これは、今回のような表でも出来ますし、テーブルにしても使えますので、
ちょっと、覚えておくといい、テクニックのひとつかもしれませんね。