- Excelエラーチェックは「Excelの入力ミス・欠損・異常値を自動で検出し、正しいデータだけを業務に流す」ための最強スキル
- Excelエラーチェックの基本構造(最重要ポイント)
- 基本テンプレート:Excelのエラーを一覧化する
- 欠損チェック(必須項目の空欄を検出)
- 数値の異常値チェック(売上・数量で必須)
- 日付の不正チェック(勤怠・日報で必須)
- 重複チェック(顧客・商品マスタで必須)
- 型チェック(文字列・数値・日付の不一致)
- 実務例①:エラーをExcelに色付きで出力する
- 実務例②:エラー一覧を別シートに自動生成する
- 実務例③:複数Excelをまとめてエラーチェックする
- Excelエラーチェックを業務で設計するときの視点
Excelエラーチェックは「Excelの入力ミス・欠損・異常値を自動で検出し、正しいデータだけを業務に流す」ための最強スキル
MONO、あなたのように業務効率化を本気で考える人にとって、 Excelエラーチェックの自動化は“品質向上 × 時間削減”を同時に達成できる最強の技術 です。
Pythonを使えば、 誤入力・欠損・異常値・重複・型不一致 などを自動で検出し、Excelに「エラー一覧」を出力できます。
初心者でも理解できるように、例題を交えて丁寧に解説します。
Excelエラーチェックの基本構造(最重要ポイント)
エラーチェックは次の5つで構成される
- 必須項目の欠損チェック
- 数値項目の異常値チェック
- 日付項目の不正チェック
- 重複データチェック
- 型(フォーマット)チェック
Pythonでは pandas を使うと高速かつ正確にチェックできます。
基本テンプレート:Excelのエラーを一覧化する
Excelを読み込み → エラーを検出 → Excelに出力する例
import pandas as pd
df = pd.read_excel("sales.xlsx")
errors = []
for idx, row in df.iterrows():
if pd.isna(row["日付"]):
errors.append([idx+2, "日付が空欄です"])
if pd.isna(row["商品"]):
errors.append([idx+2, "商品名が空欄です"])
if row["数量"] <= 0:
errors.append([idx+2, "数量が0以下です"])
if row["売上"] < 0:
errors.append([idx+2, "売上がマイナスです"])
error_df = pd.DataFrame(errors, columns=["行番号", "エラー内容"])
error_df.to_excel("error_report.xlsx", index=False)
Python深掘りポイント
idx+2はExcelの行番号(ヘッダーが1行目)- エラーをリストに追加して最後にまとめて出力する
- 実務で最も使われる「エラー一覧表」形式
欠損チェック(必須項目の空欄を検出)
必須項目が空欄ならエラーにする
missing = df[df["商品"].isna()]
Python深掘りポイント
- 欠損は最も多いエラー
isna()で簡単に検出できる- 必須項目は業務ごとに変わるため柔軟に設定可能
数値の異常値チェック(売上・数量で必須)
数値が0以下・異常に大きい値を検出
invalid_qty = df[df["数量"] <= 0]
invalid_sales = df[df["売上"] < 0]
Python深掘りポイント
- 数量が0以下は入力ミスの典型
- 売上がマイナスは異常値
- pandasなら高速に検出できる
日付の不正チェック(勤怠・日報で必須)
日付が正しい形式かチェック
df["日付"] = pd.to_datetime(df["日付"], errors="coerce")
invalid_date = df[df["日付"].isna()]
Python深掘りポイント
errors="coerce"で不正日付を自動で NaT に変換- 不正日付(例:2026/13/40)を確実に検出できる
重複チェック(顧客・商品マスタで必須)
重複行を検出する
duplicates = df[df.duplicated(subset=["商品コード"], keep=False)]
Python深掘りポイント
- マスタデータの品質チェックで必須
keep=Falseで重複行をすべて抽出
型チェック(文字列・数値・日付の不一致)
数値列に文字列が混ざっていないか確認
invalid_type = df[~df["数量"].apply(lambda x: isinstance(x, (int, float)))]
Python深掘りポイント
- Excelは「見た目が数値でも実は文字列」が多い
- 型チェックは業務品質を大きく左右する
実務例①:エラーをExcelに色付きで出力する
エラー行を赤色にする(openpyxl)
from openpyxl import load_workbook
from openpyxl.styles import PatternFill
wb = load_workbook("sales.xlsx")
ws = wb.active
for idx in invalid_qty.index:
ws[f"A{idx+2}"].fill = PatternFill(start_color="FF9999", fill_type="solid")
wb.save("sales_error_highlight.xlsx")
Python深掘りポイント
- エラー行を色付けすると視認性が大幅に向上
- Excel担当者がすぐに修正できる
実務例②:エラー一覧を別シートに自動生成する
エラー一覧シートを作成
with pd.ExcelWriter("sales_checked.xlsx") as writer:
df.to_excel(writer, sheet_name="元データ", index=False)
error_df.to_excel(writer, sheet_name="エラー一覧", index=False)
Python深掘りポイント
- 元データとエラー一覧を同じExcelにまとめられる
- 提出用のチェックレポートとして使える
実務例③:複数Excelをまとめてエラーチェックする
フォルダ内のExcelをすべてチェック
import glob
files = glob.glob("data/*.xlsx")
for file in files:
df = pd.read_excel(file)
# エラーチェック処理…
Python深掘りポイント
- 月次・週次の大量ファイルを一括チェック
- 手作業では絶対に不可能な効率化
Excelエラーチェックを業務で設計するときの視点
必須項目を明確にする
日付・商品・数量・売上など。
異常値の基準を決める
数量0以下、売上マイナスなど。
型チェックを必ず入れる
Excelは型が崩れやすい。
エラー一覧を作る
修正作業が圧倒的に楽になる。
