導入
顧客管理表にCSVを取り込んだ翌週、上長から「メールアドレスが空欄の顧客が大量にある」と指摘が入った。改めて見ると、CSV側で「メールアドレス」列が任意項目として空欄のまま渡されており、取込前にチェックしていなかった。再出力依頼と再取込で半日が消えた――こんな場面はありませんか。
これは取込担当者の油断ではなく、必須列の有無と空欄の確認が手順に組み込まれていないことが原因です。本記事では、必須列リストを明文化し、取込前のチェック手順を整える手順をまとめます。
この記事で解決すること
| 項目 | 内容 |
|---|---|
| 解決する課題 | 必要項目が欠けたまま取り込む |
| 主な原因 | 取込前チェックがない |
| 解決方法 | 必須列の有無と空欄を確認する |
| 対象業務 | 顧客管理・契約管理・申請管理 |
| 対象人数 | 3〜30人 |
| 難易度 | ★☆☆☆☆ |
| 作業時間 | 20分 |
| 用意するもの | 対象のExcelファイル/編集権限/必須列の業務合意 |
| 効果 | 取込後の手戻りを減らせる |
| 向かないケース | 必須項目がない表 |
取込前チェックを1枚のシートで自動化すれば、必須列の欠落や空欄を取込前に検出できます。再取込のリスクが大幅に減ります。
なぜその管理表はうまくいかないのか
- 必須列が何かを文書で残していない
- CSVのヘッダーは合っていても、データ行に空欄が多い
- 取込後にVLOOKUPやピボットが動かなくなって気づく
- 担当者ごとに「必須」の判断基準が違う
- 取込前の確認手順が「目視」だけで、漏れる
担当者の集中力ではなく、必須列リストと自動チェックの仕組みが管理表側にないことが原因です。見直しは、必須列を明文化し、取込前チェックシートを用意するところから始めます。
完成イメージ
直す前 — 取込前チェックなし:
| 顧客ID | 顧客名 | メールアドレス | 電話 |
|---|---|---|---|
| C-001 | 山田商事 | (空欄) | 03-1234 |
| C-002 | 鈴木物産 | suzuki@… | (空欄) |
取込後にメール送信や架電が必要になって初めて空欄に気づく。
直した後 — 取込前チェックシート:
| 必須列 | 列存在 | 全件数 | 空欄件数 | 空欄率 | 判定 |
|---|---|---|---|---|---|
| 顧客ID | OK | 120 | 0 | 0% | ◎ |
| 顧客名 | OK | 120 | 0 | 0% | ◎ |
| メールアドレス | OK | 120 | 25 | 20.8% | ✗ |
| 電話 | OK | 120 | 8 | 6.7% | △ |
「メールアドレス」の空欄率が高いので、取込前に出力側に差し戻す判断ができます。
改善手順
ステップ1. 必須列リストを明文化する
業務上「絶対に欠けてはいけない列」を確定します。
操作: 別シート「必須列リスト」を作り、A列に列名、B列に必須/任意、C列に理由、D列に空欄許容率を記入する。
記入例:
| 列名 | 必須/任意 | 理由 | 空欄許容率 |
|---|---|---|---|
| 顧客ID | 必須 | 顧客一意化のキー | 0% |
| 顧客名 | 必須 | 業務で必ず参照する | 0% |
| メールアドレス | 必須 | メール送信に使う | 5%以下 |
| 電話 | 任意 | 一部の顧客のみ保有 | 30%以下 |
| 住所 | 任意 | 訪問先のみ必要 | 50%以下 |
「絶対欠けてはいけない」「ほぼ欠けてはいけない」「多少は許容」の3段階で考えると判定基準が明確になる。
ステップ2. 取込前チェックシートを用意する
CSVを取り込む前に、列存在と空欄を一覧チェックするシートを作ります。
操作: シート「CSV取込前チェック」を新規作成。A列に必須列名(必須列リストから転記)、B〜F列に「列存在」「全件数」「空欄件数」「空欄率」「判定」を並べる。
記入例:
| A列 | B列 | C列 | D列 | E列 | F列 |
|---|---|---|---|---|---|
| 必須列 | 列存在 | 全件数 | 空欄件数 | 空欄率 | 判定 |
| 顧客ID | =MATCH(A2,CSV!1:1,0) | =COUNTA(CSV!該当列) | =COUNTBLANK(CSV!該当列) | =D2/C2 | =IF(E2<=5%,”◎”,IF(E2<=20%,”△”,”✗”)) |
ステップ3. 空欄チェックを自動化する
各列の空欄件数を自動で数えます。
操作: 「空欄件数」セルに =COUNTBLANK(取込CSV!該当列)、「空欄率」セルに =空欄件数/全件数 を入れる。判定セルは IFで「空欄率≦5%→◎、≦20%→△、>20%→✗」のように色分けする。
記入例:
| 必須列 | 空欄件数 | 空欄率 | 判定 |
|---|---|---|---|
| 顧客ID | =COUNTBLANK(取込CSV!A:A) | =D2/120 | =IF(E2=0,”◎”,”✗”) |
| メール | =COUNTBLANK(取込CSV!C:C) | =D4/120 | =IF(E4<=0.05,”◎”,IF(E4<=0.2,”△”,”✗”)) |
✗悪い例: 目視で空欄をチェック → 大量データだと見落とす ◎良い例: COUNTBLANKで自動チェックし、判定を色で表示
ステップ4. 空欄があったときの対応ルールを決める
判定が ✗ 出たときの対応を運用ルールとして残します。
操作: 別シート「必須列チェック対応」を作り、A列に判定、B列に対応、C列に責任者を記入する。
記入例:
| 判定 | 対応 | 責任者 |
|---|---|---|
| ◎(5%以下) | 取込続行、空欄は備考で記録 | 取込担当 |
| △(5〜20%) | 取込続行、空欄行リストを業務担当へ通知 | 取込担当→業務担当 |
| ✗(20%超) | 取込中止、出力側へ再出力依頼 | 取込担当→出力側 |
ステップ5. 月次・四半期で必須列リストを見直す
業務の変化に合わせて必須列リストも見直します。
操作: 「必須列リスト最終見直し日」セルを設け、四半期に1回見直す運用にする。新しい列が必要になったときは出力側と取込側の両方で同時更新する。
記入例:
| 見直し日 | 変更内容 |
|---|---|
| 2024-01-01 | 「メールアドレス」を必須に追加 |
| 2024-04-01 | 「住所」を任意のまま、空欄許容率を50%に |
実務での注意点
- 必須項目がない表(自由記述メモ、参照用台帳など)には取込前チェックは不要です。
- 空欄の判定はCOUNTBLANKで行いますが、半角スペース1文字や空文字列は「空欄でない」と判定されます。表記揺れには別途TRIMやLEN関数で対応します。
- 必須列の判定基準は業務担当と合意してから決めます。取込担当だけで決めると、後から「これも必須にしてほしかった」と揉めます。
- 空欄行リストを業務担当へ通知する流れがあると、現場の空欄補完運用が定着しやすくなります。
- 必須列リストの見直しは「四半期に1回」と決めて、変更履歴も別シートに残します。
まとめ
CSV取込後の手戻りが多い原因は、必須列の有無と空欄の確認が取込前に行われていないことです。必須列リストと取込前チェックシートを用意し、COUNTBLANKでの空欄率判定を自動化すれば、再取込のリスクが大幅に減ります。
次にやることは、業務担当と一緒に「絶対欠けてはいけない列」「多少欠けてもよい列」をリスト化することです。チェックシートはその後で構いません。あわせて、取込元の記録は取込元・取得日・担当者を記録する手順、列ズレ対策はCSVテンプレートの列順を固定する手順も参考になります。

