導入
CSV管理や商品管理、請求管理のExcel管理表からCSVを書き出して別システムに渡したら、商品名や住所に含まれていたカンマがそのまま区切り文字として解釈されてしまい、列が1つズレて取込先に登録された、ということはありませんか。3〜50人で運用している管理表で起きがちなトラブルです。
原因の多くは、CSVの区切り文字であるカンマが値の中にも入っているのに、入力ルールや出力設定で扱いを決めていないことにあります。「電子レンジ用、汁もれ防止プレート」のような商品名や「東京都〇〇市××、▲▲ビル3F」のような住所が代表例です。
この記事では、Excel管理表で区切り文字の扱いと入力禁止ルールを決め、CSVの列ズレを防ぎやすくするための見直し手順を紹介します。CSV連携のある現場で、明日から取り入れやすい粒度で整理しました。
この記事で解決すること
| 項目 | 内容 |
|---|---|
| 解決する課題 | CSV出力時に列がズレる |
| 主な原因 | 値の中にカンマや区切り文字が入っている |
| 解決方法 | 区切り文字の扱いと入力禁止ルールを決める |
| 対象業務 | CSV管理・商品管理・請求管理 |
| 対象人数 | 3〜50人 |
| 難易度 | ★★★☆☆ |
| 作成時間 | 45分 |
| 効果 | CSVの列ズレを防ぎやすい |
| 向かないケース | CSVを使わない表 |
ここで紹介するのは、Excel管理表を作り替えるのではなく、列ごとにカンマや区切り文字をどう扱うかを決めて、CSV出力で列がズレない構造に整える、現場目線の見直し方法です。
なぜその管理表はうまくいかないのか
CSVで列がズレるのは、担当者が変な値を入れたからではなく、表の構造として「区切り文字をどう扱うか」が決まっていないことが大きな原因です。次のような状態になっていないかを確認してみてください。
- 商品名・住所・メモといった自由入力列に、カンマがそのまま含まれている
- CSV出力時にダブルクォートで囲む設定をしておらず、値内のカンマが区切りとして解釈される
- 取込先システムは区切り文字としてセミコロンやタブを受け付けるのに、Excel側がカンマしか使っていない
- 「半角カンマは禁止だが全角カンマは可」「他にも単価表記の¥や,はOK」のような曖昧なルールが現場任せ
- 入力者によってカンマを「、」に置き換えたり、そのまま入れたりとバラバラ
このような状態では、CSVを1回出すたびに値内のカンマで列がズレるリスクが残ります。担当者を責めるより、列ごとに区切り文字の扱いルールを決めて、表の構造として明示するのが基本方針です。
改善手順
区切り文字の扱いと入力禁止ルールを決めるための手順を、45分ほどで取り組める順に並べました。CSV連携のある商品管理や請求管理を想定しています。
ステップ1. 値にカンマが混ざりやすい列を洗い出す
まずは管理表の中で、カンマやセミコロン、タブが入りやすい列を洗い出します。商品名、住所、品目説明、メモ列などが典型例です。仕分けた結果は管理表の先頭シートに表として残し、現場で共有しておきます。
ステップ2. 区切り文字を1つに決めて、CSV出力ルールを揃える
取込先システムが受け付ける区切り文字を確認し、CSV出力で使う区切り文字を1つに決めます。多くの場合カンマですが、商品名にカンマが含まれることが多い業務ではタブ区切り(TSV)に切り替えるのも有効です。決めたルールは出力手順書に書いておきます。
ステップ3. カンマを含む列をダブルクォートで囲む設定にする
カンマを許容する列は、CSV出力時にダブルクォートで囲む設定を必ず入れます。Excel標準のCSV出力ではダブルクォート付与の挙動が変わることがあるので、出力ツールや手順を1つに固定して、誰が出力しても同じ結果になるようにします。
ステップ4. 入力禁止ルールを列単位で決める
コード列、電話番号列、金額列のように区切り文字を入れる必然性がない列には、「カンマ・タブ・セミコロンの入力禁止」というルールを設定します。条件付き書式で区切り文字を含む値を色付けすると、入力直後に気づけて修正がしやすくなります。
ステップ5. 既存データの区切り文字を整理する
既存の入力データから、誤って入っている区切り文字を整理します。コード列に紛れているカンマを置換で削る、金額列の¥や,を取り除いて整数にする、といった作業です。一度に全列を直そうとせず、CSV出力で列ズレが起きている列から優先的に対応します。
Before / After
| 観点 | Before | After |
|---|---|---|
| 課題 | 値内のカンマでCSVの列がズレる | 区切り文字が値内にあっても列がズレない |
| 原因 | 区切り文字の扱いルールがなかった | 区切り文字の扱いと入力禁止ルールがある |
| 運用 | 入力者の判断に任せていた | 列ごとに入力可否が明示されている |
| 確認 | 取込先のエラーで初めて気づく | Excel上で区切り文字の混入を事前に検知できる |
| 効果 | 列ズレで取込やり直しが発生していた | CSVの列ズレを防ぎやすい |
ポイントは、「すべての列でカンマを禁止する」のではなく、列ごとに区切り文字の扱いを分けることです。商品名や住所のような長文列はダブルクォートで保護し、コード列や金額列は入力禁止にすると、現場の入力負担を上げずに済みます。
実務での注意点
- CSVを使わない表には向きません。社内で印刷したり画面で確認したりするだけの管理表に対して、区切り文字ルールまでやり込むと作業が増えてしまいます。CSV連携を行う表に絞って導入しましょう。
- カンマを別の文字(全角カンマや読点)に置き換える運用にすると、見た目が変わり業務側で違和感が出ることがあります。書き換えの方針は現場と擦り合わせます。
- ダブルクォート付与の挙動はExcelのバージョンや拡張子(.csv / .txt)でも変わることがあるので、出力結果をテキストエディタで確認します。
- 既存データの置換は、置換前に必ずバックアップを取ります。
- 区切り文字ルールも、月次運用で1〜2か月見直す前提にしておきます。
Web化・スプレッドシート化との関係
ツールを変える前に、区切り文字の扱いを整理しておく作業は、どの選択肢でも役に立ちます。
Excel改善で足りる場合
3〜50人規模で、特定の取込先に月次〜週次でCSV連携している場合は、列ごとの区切り文字ルールとダブルクォート付与の出力設定を整えるだけで、列ズレは大幅に減らせます。連携先の仕様が安定しているなら、Excelを続けながら運用するだけで十分です。
スプレッドシート化・Web化を考える場合
取込先が増えてきた、商品名や住所に含まれる記号を厳密に扱いたい、といった場合は、スプレッドシートや業務用Webアプリへの移行も視野に入ります。フィールドごとに型と入力制約を持てるツールに移すと、入力時点で区切り文字の問題が起きにくくなります。
ツールを変える前に区切り文字の扱いを整理しておくと、Excelを続ける場合でも別ツールへ移る場合でも、CSVの列ズレを防ぎやすい状態を作れます。
まとめ
CSV出力で列がズレるのは、値の中にカンマや区切り文字が入ったまま運用していることが主な原因です。区切り文字の扱いと入力禁止ルールを列ごとに決め、ダブルクォート付与と入力規則を揃えていけば、CSVの列ズレを防ぎやすくなります。まずはカンマが混ざりやすい列を洗い出すところから始めてみてください。
