OCR後の複数行説明と列の入れ替わりを修正

OCR銀行取引明細書での分割取引説明と列の入れ替わりを修正するステップバイステップガイド。Excelとツール。

どうやって投稿者 Krrisha
1 分で読めます

スキャンした銀行の取引明細書でOCRを実行すると、抽出データが混乱します。取引の説明が複数の行に分割され、デビット金額とクレジット金額の列が入れ替わり、残高が合致しません。これはOCRがページ上のテキスト位置を読み取るだけでテーブル構造を理解していないため、さらに低品質のスキャンや携帯電話の写真で状況が悪化するからです。

このガイドでは、最も一般的な2つのOCR問題を診断して修正する方法を説明し、Excelでの手動クリーンアップ技術を実行し、自動ツールがそれを実行するタイミングを説明します。

OCRが複数行の説明を別々の行に分割する理由

銀行の取引明細書では、長い商人の名前や参照が1つのテーブルセル内の2行または3行にわたって印刷されることがよくあります。人間の読者は1つの取引を見ます。OCRソフトウェアは異なる垂直位置にある3つの別々のテキストブロックを見て、出力に3つの行を作成します。

実際の取引明細書からの例:

日付説明デビットクレジット
1月15日AMAZON MARKETPL42.99
ACE*OFFICE SUPPLIES
REF 8347291

OCRは3行のテキストを読んだため、3つの行を作成しました。金額は最初の行にのみ表示されます。継続行の日付列は空白です。これにより、ソート、フィルタリング、または会計ソフトウェアへのインポートの試みが中断されます。

この問題は、複写された取引明細書、ファックス、または文字間隔が一貫していない低解像度の携帯電話の写真で悪化します。OCRは1つのセルが終わり別のセルが始まるかを確実に判断することはできません。

OCR後にデビット列とクレジット列が入れ替わる理由

デビット列とクレジット列は取引明細書に近く配置され、多くの場合、狭い空白または薄いグリッド線で区切られています。OCRは左から右、上から下に読みますが、列ヘッダーを理解していません。スキャンされた画像がわずかに回転したり、不均等に切り取られたり、薄い線がある場合、ソフトウェアはどの数字がどの列に属するかを推測します。

列が入れ替わる一般的な原因:

  • 取引明細書が1度または2度の角度でスキャンされ、ページ下に移動するにつれてテキストが水平にシフトした
  • 列ヘッダーがデータ行と異なるフォントサイズを使用し、配置検出がオフになる
  • クレジット金額の周りの括弧(150.00)によりOCRがそれらを負のデビットと考える
  • 右揃えの番号を狭い列に配置し、OCRが最も左の数字に固定される

列が入れ替わると、インポートされたデータは入金を引き出しとして表示します。実行残高が即座に壊れて、印刷された終了残高に対して調整できません。

手動方法:Excelで分割行をマージする

既にExcelまたはCSVにデータを抽出している場合、Excelで数式とヘルパー列を使用して複数行の説明を修正できます。これは最大50の取引に対して機能します。それ以上は時間コストが価値を超えます。

抽出されたデータをExcelで開きます。列A〜Dに日付、説明、デビット、クレジットが含まれていると仮定します。

  1. ヘルパー列Eを挿入します。E2で=IF(A2="",E1,ROW())を入力して下にコピーします。これは同じグループ番号を日付値を共有するすべての行に割り当てます。
  2. 列Fを挿入します。F2で=IF(A2="",F1&" "&B2,B2)を入力して下にコピーします。これにより、各グループの最初の行に継続行から説明テキストが連結されます。
  3. 列Aをフィルタリングして、日付が空白でない行のみを表示します。列A、F、C、Dを新しいシートにコピーします。列Fにはマージされた説明が含まれています。
  4. ヘルパー列を削除し、Fを説明に名前変更します。

このアプローチは、継続行に空白の日付セルがあることを前提としています。OCRがすべての日付セルに値を繰り返して満たした場合、異なるグループロジックが必要です。デビットとクレジットの両方が空白である行を探して、それらの説明を上の最も近い行にマージします。その行に金額があります。

手動方法:列を識別して入れ替える

最初の10行の実行残高を計算して、デビットとクレジットが反転しているかチェックします。取引明細書ヘッダーから印刷された期首残高を使用します。

Excelで、実行残高用のヘルパー列Eを挿入します。E2で=期首残高+C2-D2を入力します。Cはクレジット、Dはデビットです。式を下にコピーします。E11を元の取引明細書の10行目の隣に印刷された実行残高と比較します。

計算した残高が間違った方向にドリフトしている場合、列が入れ替わっています。2つの新しい列を挿入して数式を入れ替え=D2と=C2、その後古い列を削除して修正します。

一部の行が正しく、他の行が間違っている場合、OCRは矛盾した列の割り当てを行いました。実行残高が破る各行を手動で確認する必要があります。これは、ページの中央に概要セクションがある取引明細書や、OCRが取引行と間違えたフッターノートについて一般的です。

無料のOCRツールが機能しない場合

Adobe Acrobatのエクスポート機能とタビュラなどのツールは、テキストが選択可能なデジタルPDFでよく機能します。スキャンされた取引明細書では同じ理由で失敗します。テーブル構造の意味的な理解がありません。

タビュラはテーブル領域の周りにボックスを描く必要があります。説明が複数の行にわたっている場合、エクスポート前にインターフェイスでセルを手動でマージしない限り、タビュラは各行を別々の行として抽出し、これは時間の節約を無効にします。

Google DocsのOCRと無料のオンラインコンバーターは、財務テーブルを正しく処理することはほとんどありません。それらはドキュメント内のボディテキストに最適化されており、テーブル状の列データには最適化されていません。テキストの壁が表示され、金額が全体に散在しており、完全な手動再構築が必要です。

自動修正:AIベースのステートメントコンバーター

最新の変換ツールは、銀行の取引明細書レイアウトに特別に訓練されたAIモデルを使用します。複数行の説明を単一の取引として認識し、空間座標だけでなくコンテキストからデビット/クレジット列の位置を学習します。

BankStmtConverterは、スキャンされたおよび写真で撮影された取引明細書を、期待される構造を持つ財務ドキュメントとして扱うことで処理します。日付は順序付きで実行され、金額は印刷された合計に調整する必要があり、説明は最も近い日付/金額ペアに属します。AIは分割された説明を自動的にマージし、出力の残高が取引明細書上の印刷された期首残高と終了残高に一致することを検証します。

アップロード後、ツールはプレビュータブを表示します。複数行の説明が単一の行として表示され、実行残高列が取引明細書と一致することを確認できます。列が入れ替わっていた場合、残高の検証が失敗し、エクスポート前に正しい列の割り当てを確認するようツールに指示されます。

ExcelのCSV、QuickBooksのQBO、XeroのOFX、またはデスクトップバージョンを使用して、ファイルをアップロードせずにステートメントをローカルで処理できます。デスクトップツールは、クライアントの機密情報要件または高ボリューム月次処理を持つ企業に役立ちます。

検証:実行残高を確認する

手動または自動でのクリーンアップ後、すべての行の実行残高を計算します。取引明細書ヘッダーから印刷された期首残高から開始します。クレジットを追加し、デビットを差し引きます。最後の行の計算残高は、印刷された終了残高と正確に一致する必要があります。

最終的な残高が1つの取引の合計だけだったら、その取引は重複しているか不足しています。1つの取引を2倍にしている場合、その取引は間違った列にあります。段階的にドリフトしている場合、列が入れ替わった複数の行またはマージされた説明には金額が含まれています。

この検証は、視覚的な検査で見落とすエラーをキャッチします。抽出されたデータがインポート対応であることを確認する唯一の信頼できる方法です。

比較:手動クリーンアップ対コンバーターツール

方法複数行の処理列の入れ替わり検出残高の検証40ページの取引明細書の時間
Excelの数式ヘルパー列で手動マージ行ごとの手動検査手動の数式、自動チェックなし2~4時間
タビュラ+クリーンアップ行を抽出、その後手動でマージ検出なし、スポットチェックが必要なし1~3時間
Adobeエクスポートスキャンで失敗、線を分割スキャンで失敗、検証なしなし15分+2時間のクリーンアップ
BankStmtConverter抽出中にAIがマージコンテキスト認識、不一致をフラグ印刷された合計に対して検証合計5~10分

手動方法は、1ページの取引明細書に数十の取引がある場合に実行可能です。複数ページのスキャン、多くの取引明細書のバッチ変換、または定期的な月次処理の場合、手動クリーンアップの時間投資は拡張されません。

エッジケースの処理

一部の取引明細書は括弧内のクレジットを印刷します(500.00)代わりに別の列です。OCRはこれを負のテキストとして読みます。クリーンアップでは括弧を削除し、金額をクレジット列に移動する必要があります。Excelで=IF(LEFT(C2,1)="(",VALUE(MID(C2,2,LEN(C2)-2)),0)を使用して括弧内の金額を抽出します。

複数のアカウントが1ページに印刷された取引明細書(チェック中の要約と貯蓄など)は、テーブル構造がページの中央にリセットされるため、OCRを混乱させます。OCRの前にPDFを別々のファイルに分割するか、アカウントヘッダーを検出して自動的にセグメント化するツールを使用します。

非英語の日付形式と通貨記号を含む外国語の取引明細書には、ロケール対応の解析が必要です。ExcelのTEXTとDATEVALUE関数は日付を再フォーマットできますが、ソース形式を知る必要があります。AIツールはデータパターンから日付形式を推測してこれを処理します。

手動クリーンアップを使用する場合

1回限りのニーズ、単一ページの取引明細書があり、Excelの数式に既に精通している場合、手動クリーンアップが合理的です。機密保持ルールのため、取引明細書をアップロードできず、デスクトップソフトウェアへのアクセスがない場合も唯一のオプションです。

定期的に取引明細書を処理する場合、手動クリーンアップは定期的な時間のドレインになります。スキャンされた20ページの取引明細書には、複数行の説明が50ある200の取引があるかもしれません。確認および修正するために取引ごとに3分で、それは10時間です。同じ取引明細書は、マージとコラム検出を自動的に処理するAIコンバーターで5分かかります。

クリーニングされたデータを会計ソフトウェアにエクスポートする

データがクリーンバランスが取れたら、会計ソフトウェアが必要とする形式でエクスポートします。QuickBooks デスクトップと オンラインはQBOファイルを受け入れます。XeroはOFXまたはCSVを特定の列ヘッダーでインポートします。Sage、FreshBooks、Waveは日付、説明、金額列を持つCSVを受け入れます。

インポート前に、CSVが正しい日付形式を使用していることを確認し、デビット/クレジット金額に正しい記号があることを確認します。一部のソフトウェアはデビット用の負の数を期待し、他のソフトウェアは別の列を期待しています。プラットフォームのインポートテンプレートまたはドキュメントを確認してください。

BankStmtConverterはQBO、OFX、および会計準備CSVにして、各プラットフォーム用の正しい列ヘッダーと日付形式でエクスポートします。これにより、手動再フォーマットステップとインポートエラーが一致しない列から回避されます。

将来のスキャンでOCRの問題を防止する

スキャンプロセスを制御する場合、OCRエラーを減らすことができます:

  • 300 DPI以上でスキャンします。150 DPIは信頼できる文字認識には低すぎます
  • 携帯電話のカメラの代わりにフラットベッドスキャナーを使用します。携帯カメラは遠近法の歪みを導入します
  • 取引明細書がスキャナーベッドと平坦で配置されていることを確認します。2度の回転は20ページ上のエラーを複合します
  • 黒と白またはグレースケールでスキャンし、色ではスキャンしません。コントラストを改善し、ファイルサイズを縮小します
  • 取引明細書に背景色または透かしがある場合、OCRの前に明るさとコントラストを調整します

これらのステップは、任意のツール、無料または有料でOCRの精度を向上させます。ただし、完璧なスキャンでも複数行の分割と列の混乱を生成します。OCRは根本的にテーブルセマンティクスを理解していないからです。AIベースのコンバーターは、数件のトランザクション以上の手動クリーンアップより高速です。

デスクトップとオンプレミスオプション

クライアント銀行取引明細書をクラウドサービスにアップロードできない企業向けに、デスクトップソフトウェアはファイルをローカルで処理します。BankStmtConverterは、WindowsとMac用の一度のライセンスを提供します。ファイルはコンピューターを離れることはありません。ファイルごとの料金なしで無制限の取引明細書を処理できます。

これは月次に数十のクライアント取引明細書を処理する会計企業や、厳密なデータ保持ポリシーを持つ規制業界の企業に特に役立ちます。デスクトップバージョンには、クラウドバージョンと同じAI抽出、複数行マージ、残高検証が含まれていますが、ローカル処理とオフライン使用があります。

概要決定ガイド

1つの取引明細書、20未満の取引がある場合、OCR出力がほぼ正しく、いくつかの分割行がある場合、手動Excelクリーンアップを使用します。クリーンなデジタルPDFがあり、最小限のクリーンアップで基本的なテーブル抽出のみが必要な場合、タビュラを使用します。

スキャンされた取引明細書、複写、携帯電話の写真、複数ページのファイル、またはバッチ処理のニーズがある場合、AIコンバーターを使用します。単一の40ページの取引明細書の時間の節約により、ツールコストが支払われ、残高の検証は手動確認で見落とすエラーをキャッチします。定期的な使用またはクライアント作業の場合、デスクトップバージョンはアップロードの懸念と従量制ファイル料金を排除します。

どの取引明細書レイアウトがコンバーターをサポートしているかを確認し、実行残高を印刷された合計に対して検証することを確認します。その検証ステップは、クリーンなインポート対応データと後で調整トラブルシューティングの時間の差です。

よくある質問

OCRが取引の説明を複数の行に分割するのはなぜですか?

OCRはテーブル構造を理解せずに行ごとにテキストを読みます。商人の名前や参照が取引明細書の1つのセルに2行または3行にわたって印刷されている場合、OCRは異なる垂直位置の各テキストブロックに対して別々の行を作成します。ソフトウェアが別々のテキストブロックを検出し、それらが単一の取引に属することを知らないからです。

OCR後にデビット列とクレジット列が入れ替わっているかどうかはどうやって知りますか?

印刷された期首残高を使用して、最初の10取引の実行残高を計算します。計算した残高が逆の方向に移動するか、行10で印刷された残高と一致しない場合、列が入れ替わっています。ドリフトは毎回の取引が残高に影響するため、すぐに表示されます。

Excelの数式を使用して、分割した取引説明を修正できますか?

はい、小さなファイルの場合。IF数式を使用してヘルパー列で日付でグループ化し、COMCATENATEを使用して、空白の日付を持つ行から説明テキストを最初の行にマージします。これは最大50の取引に対して機能しますが、より大きな取引明細書では時間がかかります。

Tabulaなどの無料のOCRツールは、スキャンされた銀行の取引明細書をよく処理しますか?

タビュラはクリーンなデジタルPDFで機能しますが、スキャンされた取引明細書や写真で苦労しています。複数行の説明の各行を別々の行として抽出し、入れ替わった列を検出しません。エクスポート後もかなりの手動クリーンアップが必要であり、時間の節約を減らします。

AI ベースのコンバーターは複数行の説明をどのように処理しますか?

AIコンバーターは、テキスト座標だけに依存するのではなく、日付と金額の近くの説明が単一の取引を形成することを認識して、取引明細書全体の構造を分析します。順序付き日付や残高進行などのコンテキストを使用して、分割された行を自動的にマージし、正しい列位置を検出します。

すべてのブログ