12/09/2019

Excel。カテゴリー別で通し番号を作るにはどうしたらいいの?【serial number】

Excel。カテゴリー別で通し番号を作るにはどうしたらいいの?

<COUNTIF+TEXT関数>

現在使用している店舗管理表があります。

地域コードだけで管理していたのですが、店舗数が多くなってきたので、次のように、地域コードというカテゴリー別に通し番号をつけた新コードをつくりたいのですが、自力でイチイチコードを作っていくのは面倒です。

Excel VBAでプログラムを作ってもいいのでしょうけど、COUNTIF関数とTEXT関数を使うことで、問題を解決することができます。

考え方ですが、E列に、地域コードが何回目に登場するのかがわかれば、その数値が通し番号にすることができます。

つまり、登場回数を数えればいいわけです。

E2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。

範囲には、$B$2:B2
範囲選択の始点を絶対参照して、終点を相対参照のままにすると、オートフィルターで数式をコピーすると範囲選択が広がっていく仕組みです。

検索条件はB2
設定したら、OKボタンをクリックします。

数式は、
=COUNTIF($B$2:B2,B2)

あとは、オートフィルを使って数式をコピーします。

確認してみると、E2はKGの1回目の登場なので、「1」。

E6にKGの2回目の登場なので、「2」というように、算出されていることが確認できます。

これで、登場回数ごとに連番の基盤がつくれたわけです。

あとは、地域コードと文字結合すればいいわけです。

ただ、このまま、C2に=B2&”-“&E2としても、「KG-001」というようなゼロが付いている形式にすることは当然できません。

そこで、表示形式を整えるには、TEXT関数を使う方法が良いと思いますので、文字結合にTEXT関数を使っていきます。

C2をクリックして、次の数式をつくっていきます。
=B2&"-"&TEXT(E2,"000")

表示形式で、”000”とすると、ゼロ付の数値をつくることができます。

表示形式を設定することができる、TEXT関数を使うことで、希望のような形で地域コードをつくることができます。

オートフィルを使ってつくった数式をコピーします。

これで、カテゴリー別の通し番号つくることができました。