データの作成や整理でエクセルなどの作表ソフトを使うことは多いですね。表は行がレコードで列がそのフィールドとして作ることが多いはずです。1行はひとつのレコードですので行毎にIDコードを振るようにしたいわけです。エクセルではここで困ったことに突き当たります。
IDは数字の連番で作成するのが一番簡単です。通常は「00001 00002 …」 と頭に0を桁数だけつけてIDとします(*1)。ところがエクセルで「00001」と入力してみると「1」と頭の0が無視されてしまいます。何とも困ったことです。
これは「数字」と「数値」の取り違いです。IDは数字で構成された文字で、数値ではありません。エクセルはデフォルトでは数字だけで構成された文字列を数値として扱うように設定されていますので、00001 = 1 と解釈したわけです。
IDのように頭に0をつけた数字だけの文字列をエクセルで入力するにはどうしたら良いでしょうか。数字だけど「数値」ではなく「文字列」なんだよとエクセルに教えてあげれば良いのです。
これで「00001」を「00001」と入力することが可能になります。
さて次は連番を振る作業です。IDはデータ全体の中で同じものがあってはいけません。このことをユニークな状態といいます。これを簡単に実現するには連番にするのが便利です。こうしておけばデータを追加するときは最大のIDより大きな数にすればユニークになります。(便法ですがIDを10間隔の連番にしておくと途中にデータを9個まで挿入することも可能になります。)
データ全体に新しくIDを振るなら連番で一気に振ってしいましょう。手で記入するのは面倒ですし間違いも起こります。下のような手順で簡単に連番IDが振れます。
IDコード振り簡単だったでしょ!
IDの形式が「A0001」のような場合でも上の方法は有効ですが「0001A 0002A …」のように後ろに文字が来る形では頭の0が取れてしまってうまくいかないようです。「AA AB AC … ZZ」のような文字の連番もできないようですね。