Googleスプレッドシートで、固定長データとするにはどうすればいいでしょうか?
固定長というのは、項目ごとに与えられている文字数(バイト)が定められている形式のことを指し、全銀データをはじめ、システムのインポートファイルやエクスポートファイルに用いられている形式です。
例えば、10文字の項目に、6文字しか入力されなかった場合、残りの4文字を『0』や『 (スペース)』で穴埋めして、10文字に変えてしまう処理を加える形です。
この記事を読むと、穴埋めの方法が分かるようになり、固定長形式でのインポートファイルを作成することができるようになります!
こんにちは。当ブログの管理人のくろんです。
30代サラリーマン、新規事業推進室に所属。仕事で身につけた業務効率化ノウハウをアウトプットしていきます。読んでくれた方の業務が一秒でも早く終わりますように!!
データを固定長化する
TEXT関数を用いる方法
=text(B2,"00000")&text(C2,"000")&text(D2,"0000")
数字しか入力されない場合で、固定長化の処理する項目が少ない場合は、『TEXT関数』を用いると簡単にできます。
『TEXT関数』は、値を指定した文字列形式で返してくれる関数なので、固定長の長さ分だけ『0』をつなぎ合わせた文字列を指定することで、固定長化することができます。
欠点としては、固定長の長さを変動させようとすると、関数自体をいじらなくてはいけないことから、拡張性に乏しい点があります。また、文字が入力された場合、対応することができません。
REPT関数とLENB関数を用いる方法
=rept("0",$B$1-lenb(B2))&B2&rept("0",$C$1-lenb(C2))&C2&rept("0",$D$1-lenb(D2))&D2
『TEXT関数』では、固定長の長さを変化させるのが面倒でしたが、『REPT関数』と『LENB関数』を用いることで、柔軟に対応できるようになります。
『REPT関数』『LENB関数』については、別の記事で紹介しているので、知らない方はご確認くださいー。
また、『REPT関数』『LENB関数』を使用した場合、文字であっても固定長化することができます。
※『LENB関数』は、半角が1、全角が2とカウントするので、単純な文字数でないことに注意です。
固定長データ化のまとめ
固定長のデータ化する主な方法は、
- 『TEXT関数』を用いる方法
- 『REPT関数』『LENB関数』を用いる方法
があり、後者のほうが汎用性と拡張性に優れています。
処理したいデータの規模によって使い分けるとよいでしょう。