連続番号ジェネレータ

連続番号ジェネレータ

データエンコードプロジェクトがあります。

画像

列 A (機器の種類) にデータを入力すると、列 B に計算されたセルが表示されます。列 B には、列 A の値で始まり、機器固有のカウンターが追加された文字列が含まれています。

列 A のさまざまな機器タイプは、任意の順序で配置できます。カウンターは、機器タイプ内で増加する必要があります。

列 A の行に新しいデータを入力するたびに、列 B の値が自動的に作成され、その機器タイプのカウンターが 1 ずつ増加します。

この例では、リストは 2 つのタイプ A で始まり、そのカウンターは001と です002。4 行後にはタイプ A がさらに追加され、そのカウンターは と に増加し003ます004

その間、3、4、5 行目には、タイプ B、D、C があります。これらの各行には、 から始まるカウンターがあります。さらに下には、2 番目のタイプ D と C があり、それぞれのカウンターは 1 ずつ増加します。次に、2 番目と 3 番目のタイプ B があり、これらのカウンターはと001に増加します。002003

列 B の値を生成するにはどうすればよいでしょうか?

答え1

ソリューションイメージ

B2の式:

=IF(ISBLANK(A2),"",A2&"-"&TEXT(COUNTIF($A$2:A2,A2),"000"))

列 B の数式を任意の広い範囲に事前入力することができ、列 A に値を入力するまで空白のセルが表示されます。

列 A の値、ハイフン、カウンタを追加して、表示される値を作成します。"000" 形式の TEXT 関数は、3 桁のカウンタに必要な先頭のゼロを提供します。

COUNTIF は、現在の列 A の値と一致する、列 A の先頭から現在の行までの値をカウントします。

答え2

列 A のデータの最後の文字を取得して数値を追加する場合は、次のような基本的な数式を使用するのが最適です。

RIGHT(A1,1)&"-"&TEXT(ROW(),"000")

問題は、A1 を使用していない場合、開始番号が 1 になるまで行を減算するだけです。したがって、データが 10 行目から始まる場合、コードは次のようになります。

RIGHT(A1,1)&"-"&TEXT(ROW()-9,"000")

答え3

価値を置くA1そして

x-001

B1. その後、B2入力:

=IF(A2="","",IF(LEFT(B1,1)="x","y"&RIGHT(B1,4),"x-"&TEXT(1*(RIGHT(B1,3)+1),"000")))

下方向にコピーします:

ここに画像の説明を入力してください

ご覧のとおり、列の接頭辞Bピンポンするバツそしてええ必要に応じてサフィックスが増加します。

関連情報