労務のためのExcel TIPS~社員番号をHackせよ~
本記事は労務アドベントカレンダー2020の8日目の記事です。
カンマ区切りのcsv、便利だけど「数字だけの社員番号先頭ゼロ落ち」トラップが
労務のみなさんが取り扱う従業員情報、Excelだったりcsvだったりpdfと様々です。
また、手続きや評価のためにファイルのやり取りも発生します。
システムからダウンロードした社員情報のcsvファイル、そのままExcelで開いて作業して「社員番号の先頭の0が落ちている!!!」なんてことはないでしょうか?
インポートするにはcsvファイルは使い勝手が良いのですが、csvファイルをExcelで開いて作業してcsvで保存してまたExcelで開いて……というようなことで先頭の0がなくなってしまうことがあります。
0を埋めることを「ゼロ埋め」「ゼロパディング」なんて言ったりします。今回は社員番号の「ゼロ埋め」をどうするか?をご紹介する記事です。
例えばこんなcsvをExcelで開くと
00001, hogehoge
00002, hogehoge
00003, hogehoge
こうなります。
表示形式を変更する
まずはセルの書式設定で直してしまう方法です。修正したい範囲を選択し、ホーム画面の書式設定のプルダウンから「その他の表示形式」を選択。
分類は「ユーザー定義」、種類に社員番号の桁数分のゼロを入力します。この場合は、5桁の社員番号なので「00000」と入力。
こうなります。
セルの中身を見ていただくとわかる通り、この方法はあくまでもExcel上での「見た目」の補正なので、セルの値は「1,2,3」です。この後にvlookup関数などを使って検索する場合はヒットしないのでご注意を。(検索に使いたいときは後述の方法で)
ここからは物理的に1列追加して、ゼロ埋めした社員番号を生成する方法です。
TEXT関数を使う
TEXT関数で引っ張ってきて、第2引数に「”00000”(設定したい桁数)」と入力するだけ。
TEXT関数応用編:電話番号の整形
国番号とセットとか、ハイフンなしで電話番号入力されているとやはり先頭のゼロがないときがあります。そんなときも考え方は同じ。
RIGHT関数を使う
図のA列のように、元の社員番号の前に桁数‐1個で0を付け足して、最後に右から桁数分取り出します。(B列とC列は数式を分割したものです)
REPT関数を使う
REPT関数で社員番号のセルから本来の桁数に足りないのは何桁か確認、その差分を0で繰り返して(埋めて)、最後に「&」演算子で元の社員番号と連結します。
番外編
これから「新しくファイル(シート)を作成する」であれば、こんなことも可能。
csvファイルをテキストエディタで開いてコピペする
csvファイルを直接開くと「Excelが勝手に書式を認識してしまう」ので、Excelを先に開いてからまとめて貼り付けて区切り位置で調整する方法です。
Excelを開き……
csvファイルをテキストエディタで開きコピーします。
Excelに貼り付け。
ホーム画面から、データ>区切り位置で区切り位置ウィザードが起動します。
社員番号の列を「文字列」にします。
文字列として取り込めました。
開くときからゼロありで開きたい
さすがSmartHR、こんなFAQがありました。
Excelで数値の先頭の「0」が消えてしまう場合はどうすれば?
2年目のアドベントカレンダー
昨年のアドベントカレンダーに続き、今年も参加してみました。今年も引き続き少し毛色が異なるExcelTIPSネタです。昨年のvlookupネタもそうですが、知っている人は「知っててあたりまえ」となるものの、知らない人は実はとっかかりの検索の仕方(キーワード)がわからない、なんてことが多々あります。労務のTIPSのひとつとして置いておくことで「こんなことができるんだ」という新しいスキルの発見に繋がるといいなと思います。
今年最後の給与計算が終わるまで、あと一息。まだまだ気が抜けない日々が続きますが、よく寝てよく食べてよく動いて新年を迎えましょう。
みんなー必ず寝るんだよ!!!
この記事が気に入ったらサポートをしてみませんか?