エクセルでデータを集計をする際、重複するデータには連番をふり、重複していないデータにはまた1から番号をふりたいということはないでしょうか。
重複データがいくつあるのかを知りたいときにも使えますし、データリストを残したまま重複するデータの1個目だけを抽出したいときにも使える便利なテクニックがあります。
重複するデータごとに連番をふる方法
この記事が役に立つ状況の例
例:取引先への請求内容ごとに一覧化されたデータがあり、重複する請求書番号ごとに連番をふりたい。

完成イメージ
完成イメージがこちらです。

請求書番号が重複するデータは1から順に連番をふり、別の請求書番号のデータからはまた1からの連番をふることができた。
C6以降はオートフィルを使ってデータリストの1番下まで関数をひっぱります。
使用した関数
使用した関数は以下の1つだけです。
- COUNTIF
COUNTIF関数の範囲と検索条件を工夫することで、重複データごとに連番をふることが可能になりました。
関数の書き方
=COUNTIF($範囲の始まりのセル:範囲の始まりのセル,範囲の始まりのセル)
使う関数は1つだけで、セルを3つ指定しますがすべて同じセルという不思議な数式になっております。
ポイントは、最初に指定するデータ範囲の始まりだけに「$」をつけて絶対参照しておくという点です。
なぜそうなるかの解説
=COUNTIF($範囲の始まりのセル:範囲の始まりのセル,範囲の始まりのセル)を分解してみる。
関数の内容は実はとてもシンプルです。
COUNTIF関数は、指定する範囲の中に検索条件と一致するセルがいくつあるかをカウントしてくれる関数なので、指定する範囲の開始を絶対参照することで固定し、範囲の終わりはカウントする行まで自由に動くようにしています。
計算している行のデータは、これより上に重複があったかということを上から順番に繰り返していく処理を行います。
分かりにくいかもしれませんので、イメージで説明します。

上から順に、E列に記載した処理を繰り返していくことで、重複データごとに連番をふることができるというわけですね。
範囲の始まりだけを絶対参照していることでこの処理が可能になりました。
コメント