複数のExcelファイルを1つに結合:乱雑なファイルのための平易な方法

支店レポートには同じ種類の販売記録が含まれていますが、ヘッダーが異なる行から始まり、列名も異なります。記録を失わず、合計も変えずに1つの表にする必要があります。以下では、記録されたRowSpeakワークフローが、不一致の3つのExcelファイルを445件の確認済み販売記録に結合します。プロンプトをコピーし、結合を視聴し、結果をダウンロードしてご自身で確認できます。

記録された結合を視聴してファイルを確認する.

主なポイント:

  • ヘッダー位置や列名が異なるファイルの販売記録を1つの表に結合します。
  • コピー可能なプロンプトを使って、日付ルールを設定し、欠損値を保持し、確認用のソース詳細を要求します。
  • 記録された3ファイルの結果を確認: 445件の記録、2,944ユニット、売上10,989,500(元の通貨)。
  • レポートで結合ファイルを使用する前に、ソース別の記録数と合計を確認します。

本当の問題は結合ではない

技術的には、結合は簡単な部分です。Excel、スクリプト、無料ツールは何年も前から多くのファイルの行を積み重ねることができました。週次の作業を遅くしているのは、結合の前に起きることです。つまり、ファイルが一致していないのです。

今週のあるファイルではヘッダーが1行目にあります。別のファイルでは、誰かが表の上にタイトルと日付を貼り付けたため、ヘッダーが4行目にあります。3つ目のファイルでは、同じ列を「Rev」と綴っていますが、他では「Revenue」としています。これについて助けを検索したことがあるなら、同じ仕事をしている人たちによる次のような投稿を見たことがあるでしょう。

  • ある運用担当者は、毎週100以上のExcelファイルを結合する必要があり、その過程で書式やデータを失うことを心配していると述べていました(r/excel)。
  • 別の人は、ヘッダーが先頭から始まらず、データの上下にランダムな情報があったため、毎日50以上のファイルをコピー&ペーストで結合していました(r/excel)。
  • プログラマーではない人が、Pythonで一貫性のないワークブックのバッチを結合しようとして、ドキュメントで行き詰まりました(r/learnpython)。
  • ある人は多くのファイルから特定のセルを取得するマクロを書きましたが、セル単位で記録され、実行が遅すぎました(r/excel)。

これらは、異なる人、システム、月から来た実際の業務ファイルがどのようなものかを示しています。結合は単純です。不一致の解消が仕事なのです。

ファイルを結合する方法の選択

Excelツールやスクリプトはファイルを結合できます。役立つ問いは、あなたの特定の差異にどれだけの設定が必要か、そして結果をどのように確認するかです。

オプション1: 結合ツールを購入する

専用の結合ツールは、ファイルが同じレイアウトを共有している場合に高速です。通常、ワンクリックで多くのワークブックの行を積み重ねます。きれいで同一のエクスポートには、まさにうってつけです。

選択したツールが、最初の行より下のヘッダーを検出できるか、異なる名前を同じ列にマッピングできるか、スキップされた行を報告できるかを確認してください。一致するレイアウトを積み重ねるだけのツールでは、これらのエクスポートを正しく結合する前に準備が必要です。

オプション2: Power Query

Power Queryは、ファイルが一貫している場合に便利なオプションです。毎週のエクスポートがすべて同じシステムから同じ列で来るなら、クエリを一度作成して更新するのは良いワークフローであり、すでに所有しているExcel以外に費用はかかりません。

レイアウトが異なる場合、クエリにはそれらの差異に対するルールが必要です:

  • 一部のファイルでヘッダーが2行目や5行目にある。クエリは1行目を指しているため、それらの列はずれたり消えたりします。
  • 名前が変更された列。ある月のエクスポートでは「Region」が「Area」になり、クエリはそれを無関係な新しいフィールドとして扱います。
  • データの途中にある合計行。それが通常の行であるかのように結合テーブルに流れ込み、合計が静かに狂います。

Power Queryは、適切な変換と列マッピングのルールがあれば、これらの差異に対応できます。エクスポートが変わるとそれらのルールを保守する必要があるため、その設定を誰が担当するかを検討してください。

オプション3: VBAまたはPythonを書く

マクロやスクリプトは、乱雑なファイルを含め、ほとんど何でも扱えます。コストは異なります。つまり、コードを所有することになります。上記の引用にあったセル単位のマクロは良い例です。技術的には機能しました。しかし、役に立たないほど遅く、次のファイルバッチで構造上の驚きがあるたびに、さらに編集作業が必要でした。Pythonのドキュメントで行き詰まった非プログラマーは、同じトレードオフの反対側に直面しました。つまり、そのアプローチは機能しますが、維持できる人にしか使えないのです。

スクリプトを書くのが好きなら、これは正当な道です。あなたの実際の仕事が運用や財務で、スクリプトは目的のための手段だったなら、本来の仕事の上にソフトウェアを保守していることになります。

「乱雑」とは実際に具体的に何を意味するか

「乱雑なファイル」は曖昧な不満ではありません。具体的なリストであり、おそらくほとんどに心当たりがあるでしょう:

  • ヘッダーが1行目にない: 実際の表の上にタイトル、日付、または空白帯がある。
  • データの上下にある注記: シート内に「Prepared by」、「Confidential」、または直前のコメントがある。
  • 同じ列がファイルごとに異なる名前: 「Revenue」、「Rev」、「Sales Amount」。
  • 結合セル: 地域ラベルが3行にまたがり、最初の行だけが値を持つ。
  • 数値と日付がテキストとして保存されている: 「1,250」がテキスト、「2026/10/01」が文字列、そして合計が両方を静かにスキップする。
  • 空白行が表を断片に分割している。
  • データとして数えてはいけない合計行。下部にあることも、途中にあることもある。

これらのうち3つ以上が毎週のファイルに当てはまるなら、「ファイルを結合する」という枠組みは本当のタスクを隠していました。本当のタスクは、不一致のファイルを、すべての行が同じ意味を持つ1つの表に変えることです。それは別の仕事であり、別のアプローチが必要です。ファイルがすでに1つのワークブックにあり、値の正規化がまだ必要な場合は、別のデータクリーニングワークフローが役立ちます。

平易な言葉のルート

RowSpeakのExcel AIワークフローでは、ワークブックをアップロードし、どの記録が結合表に属するか、どの列が同じ意味か、欠損値をどう扱うかを説明します。その後、生成された表とそのチェックを確認します。

販売の結合では、元の販売記録ごとに1行を要求します。ソース参照を保持し、ファイル別の合計を要求し、不確かな値は空白のままにするようツールに指示します。そうすることで、誤ったマッピングがレポートに到達する前に見つけやすくなります。

記録された例: 不一致の3つの販売ワークブック

このデモでは、GitHubの販売統合プロジェクトから公開共有されている3つの合成練習用ワークブックを使用します。それらはラホール、カラチ、イスラマバードの同じ種類の販売詳細を表しています。これは顧客事例ではなく、練習データを使用した製品デモです。

以下の記録では、元のファイルのプレビュー、結合リクエスト、RowSpeakのサマリー、結合されたワークブックのプレビューを示します。長さは約2分37秒です。

ステップ1: ソースファイルの違いを確認する

3つのファイルすべてに販売記録が含まれていますが、単純なコピー&ペーストにはいくつかの修正が必要です:

ソースワークブック 異なる点 販売記録
branch_lahore.xlsx ヘッダーが4行目にあり、タイトル、注記、空白行の下にある 140
branch_karachi.xlsx 異なる列名、日/月/年の日付、Rs 5600のようなテキストとして保存された価格 160
branch_islamabad.xlsx 異なる列名、5つの空白スペーサー行、欠損したカテゴリと単価 145

ラホール: 注記の下にあるヘッダーを見つける。 販売列にはProductID、Units Sold、Total Salesが含まれます。それらの上にあるテキストは販売記録ではありません。

実際のヘッダーの上にタイトルと注記があるラホールの販売ワークブック。Units SoldとTotal Salesを含む

カラチ: 名前を照合し、日付を正しく読む。 ここでは、Item_CodeはラホールのProductIDと同じ意味です。QtyはUnits Soldに対応し、RevenueはTotal Salesに対応します。26/12/2025のような日付は日/月/年として読む必要があります。

Sale_Date、Item_Code、Qty、Rs接頭辞付きのテキスト価格を示すカラチの販売ワークブック

イスラマバード: 不完全な販売記録を保持する。 6行目は空白ですが、5行目には単価が欠損した有効な販売が含まれています。これらは別々に扱う必要があります。空の行をスキップし、販売はレビュー用に保持します。

TransactionDate、QtySold、LineTotal、空白行、欠損したCategoryとUnitPriceセルを示すイスラマバードの販売ワークブック

ステップ2: 3つのファイルをアップロードして結合を説明する

RowSpeakで3つの.xlsxファイルをすべて選択します。このワークフローで使用されたプロンプトは、列の照合、日付形式、欠損値のルール、期待されるレビューサマリーを指定しています:

Prompt
これら3つの支店販売ワークブックを1つのきれいな表に結合し、元の販売記録ごとに1行にしてください。

各ファイルの実際のヘッダーを見つけ、タイトル、注記、完全に空の行はスキップしてください。列は意味で照合してください:Date / Sale_Date / TransactionDate;ProductID / Item_Code / SKU;ProductName / Item_Name / Product;Category / Cat;Units Sold / Qty / QtySold;Unit Price / Price(Rs) / UnitPrice;Total Sales / Revenue / LineTotal。

出力列は次のとおり:Date, Branch, SKU, Product, Category, Quantity, Unit Price, Revenue, Source File, Source Sheet, Source Row。Branchはファイル名から取得してください。SKUはテキストとして保持してください。Karachiの日付はDD/MM/YYYYとして解析し、すべての日付をYYYY-MM-DDで表示し、Rs接頭辞付きの価格は通貨を変えずに数値に変換してください。

欠損フィールドのある記録を含め、すべての販売記録を保持してください。欠損しているCategoryとUnit Priceは空白のままにし、レビュー用に報告してください。推測、補完、重複排除、元のRevenueの再計算はしないでください。

ソースファイル別のサマリーを作成し、記録数、総Quantity、総Revenue、欠損フィールド数を示してください。除外された非データ行は別途報告してください。結合した表とレビューサマリーをcombined_branch_sales.xlsxにエクスポートしてください。

重要な指示は、すべての販売記録を保持することです。欠損したカテゴリによって実際の販売が消えてはいけません。既存の売上を保持するようツールに求めることで、列を標準化しながら合計を変えることも避けられます。

ステップ3: 結果を元のファイルと比較する

RowSpeakは445件の販売記録とソース別サマリーを返しました。以下のスクリーンショットは記録からのもので、数値は3つのソースワークブックとダウンロードした結果に対して独立に確認されました。

445件の記録、2,944ユニット、売上10,989,500、支店別の欠損フィールド数を示すRowSpeakの結合結果

支店 記録数 総数量 売上、元のRs金額
ラホール 140 889 3,200,000
カラチ 160 1,239 4,954,300
イスラマバード 145 816 2,835,200
合計 445 2,944 10,989,500

行レベルの比較により、すべてのソース販売記録が1回ずつ現れ、要求された日付と価格の変換後に、その日付、支店、SKU、製品、カテゴリ、数量、単価、売上がソースと一致することが確認されました。売上は保持され、通貨変換はありませんでした。

出力には16件の欠損カテゴリと27件の欠損単価も保持されました。一部の記録は両方のフィールドが欠損しているため、これらは39件の販売記録に影響します。Review - Missing Fieldsシートがそれらを特定します。Excluded Rowsシートには、8つの非データ行がリストされています。ラホールの2つの導入行と1つの空白行、およびイスラマバードの5つの空白行です。

ステップ4: レポート作成前にエクスポートしたワークブックを開く

結合された表は一貫した列を使用し、ソースシートとソース行の参照を含みます。記録では、RowSpeakのワークブックプレビューにそれが表示されます:

結合された販売表と、ソースサマリー、除外行、欠損フィールドレビューのタブを示すRowSpeakワークブックプレビュー

記録されたCombined Branch Salesワークブック(.xlsx)をダウンロードする で同じ結果を確認できます。Summary by Source Fileから始め、次にCombined Salesを開いて、いくつかの行を元のファイルと照合してください。表を完全なものとして扱う前に、Review - Missing Fieldsを使用してください。

このエクスポートで確認すべき詳細が1つあります。画面上のサマリーには元のファイル名が表示されますが、ワークブックのSource File列にはfile-472e77ca-5ff0-4e.xlsxのようなシステムファイル名が含まれます。この例では、Branch、Source Sheet、Source Rowを使用して記録を追跡してください。引き継ぎで元のファイル名が必要な場合は、そのマッピングを明示的に要求し、エクスポートで確認してください。

この記録は、この3ファイルの結合を検証するものです。100ファイルの制限を確立したり、すべてのExcelレイアウトをテストしたりするものではなく、これらのソースファイルには小計行の削除をテストする小計行は含まれていません。

結合された表がレビューに合格したら、月次CSVレポートワークフローで使用するか、支店合計を必要とする同僚向けにダッシュボードに変換してください。

Power Queryをそのまま使うべき場合

ファイルとプロセスを維持する人の両方に合う方法を選んでください。

ファイルが毎回同じシステムから同じレイアウトで来る場合は、Power Queryを使用してください。常に同じ列、1行目のヘッダー、手動編集なしの月次エクスポートは、まさにPower Queryが得意とするものです。クエリを一度作成し、毎月更新すれば完了です。サポートされているExcelエディションで利用でき、新しいファイルが届いたときに更新できます。

エクスポートが変動し、ルールを言葉で説明したい場合は、平易な言葉のワークフローを試す価値があります。Excel内で明示的な変換を維持したい場合は、Power Queryを設定する価値があります。いずれにしても、結果を使用する前に、件数、合計、例外を比較してください。

よくある質問

ファイルはいくつまで扱えますか?

ここでのデモでは3つのワークブックを使用しています。より大きなバッチについては、アカウントの現在のアップロード制限を確認し、まず代表的なサンプルを試してください。この記録は100ファイルのバッチを検証するものではありません。

元のファイルは変更されますか?

いいえ。元のファイルは変更されません。出力は、確認、エクスポート、共有できる新しい結合データセットまたはレポートです。

CSVとPDFファイルはどうですか?

RowSpeakはExcel、CSV、PDFの入力をサポートしています。この記録はExcelのみを扱っています。PDFの表については、ワークブックデータと結合する前に、抽出された列と行を確認してください。

毎月実行されますか?

来月のファイルが届いたら、プロンプトを再利用できます。新しいバッチをアップロードし、変更されたヘッダーや形式を確認し、新しい合計をレビューしてください。ここに示すワークフローはユーザーが実行するもので、スケジュール処理を示すものではありません。

どうすれば試せますか?

現在のプランと利用可能な使用量を確認してください。小さなバッチから始め、ワークフローを拡大する前に、結果を手動チェックと比較してください。


次のファイルバッチをレビューする準備ができました

不一致のファイルを1つの表にまとめましょう。

次の支店レポートの期限前に、代表的な3つのファイルをアップロードしてください。上記のプロンプトを再利用し、結果を共有する前に記録数と売上合計を比較してください。

元のファイルは変更せず、レポートで使用する前に出力を確認してください。

いつものExcel・CSVを、チームで確認・共有できるレポートに

お手元のExcelまたはCSVファイルから始められます。RowSpeakが注目すべきポイントを見つけ、チームで確認・共有しやすいレポートやダッシュボードにまとめます。

ファイルで試す

おすすめ記事

顧客リストの手動クリーニングに疲れていませんか?Excel AIで口座番号とメール生成を自動化
データクリーニング

顧客リストの手動クリーニングに疲れていませんか?Excel AIで口座番号とメール生成を自動化

Excelで顧客リストを手動でクリーンアップするのに苦労していませんか?アカウント番号の割り当てやメールアドレスの作成は、面倒でエラーが発生しやすい作業です。Excel AIエージェントがどのようにこのワークフロー全体を数秒で自動化し、手動での数式作成に費やす時間を節約できるかをご覧ください。

Ruby •
「初心者のコツ」を超えて:Excel AIが日常のデータ作業を自動化する方法
Excel自動化

「初心者のコツ」を超えて:Excel AIが日常のデータ作業を自動化する方法

反復的なExcelの「コツとテクニック」に時間を浪費するのはやめましょう。Excel AIエージェントが、データクリーニング、フィルタリング、グラフ作成などの基本的なタスクを自動化し、何時間もの手動操作をシンプルな会話に変える方法をご紹介します。

Ruby •
公式を暗記するのはやめよう:Excel AIが誰でも簡単にExcelの基本をマスターできる理由
Excel自動化

公式を暗記するのはやめよう:Excel AIが誰でも簡単にExcelの基本をマスターできる理由

Excelの急な学習曲線に圧倒されていませんか?あなただけではありません。このガイドでは、基本的な作業に対する従来の方法がなぜ面倒なのかを分解し、Excel AIが数秒でそれらを処理する方法を紹介します。数式は必要ありません。

Ruby •
隠れたデータを明らかにする Excelで列を再表示する究極のガイド
Excelのヒント

隠れたデータを明らかにする Excelで列を再表示する究極のガイド

Excelで列を再表示するのにメニューを操作するのに疲れていませんか?特に最初の列は扱いにくいものです。このガイドでは従来の方法をすべてカバーし、強力なAIアプローチを紹介します。尋ねるだけで、隠れたデータが即座に表示されます。探すのをやめて、分析を始めましょう。

Ruby •
Excelでのスペルチェック完全ガイド(スマートな方法)
データクリーニング

Excelでのスペルチェック完全ガイド(スマートな方法)

スプレッドシートのタイプミスを手動で修正するのに疲れていませんか?このガイドでは、従来のExcelスペルチェックの方法をカバーし、強力なAI駆動のアプローチを紹介します。クラシックなツールを好む方も最先端のソリューションを求める方も、データをより速く、より正確にクリーンアップする方法を学びましょう。

Ruby •
Excelで名前を分ける4つの簡単な方法(AI手法を含む)
データクリーニング

Excelで名前を分ける4つの簡単な方法(AI手法を含む)

Excelで姓、ミドルネーム、名を分ける方法を学びましょう。区切り位置指定ウィザード、複雑な数式、フラッシュフィルを解説し、さらに、簡単なコマンドでこれらすべてを実行する画期的なAIツールを紹介します。煩雑なデータに別れを告げ、効率化を実現しましょう。

Ruby •
Excelデータ型完全ガイド:完璧な分析を実現するために
Excelのヒント

Excelデータ型完全ガイド:完璧な分析を実現するために

数値、テキスト、日付などのExcelデータ型を正しく識別・書式設定・変換する方法を学びます。従来の手法とAIツールによる自動化を解説し、時間を節約してデータ精度を高め、完璧なレポート作成を実現します。

Ruby •
複雑な数式を使わずにExcelで名前を分割する方法
Excel操作

複雑な数式を使わずにExcelで名前を分割する方法

Excelで手動で名前を分割するのに疲れていませんか?AIソリューションで自動化できます - 時間を節約し、エラーを回避し、データ分析をより明確にします。

Ruby •