Excel テーブルをキー列で結合 — 無料·アップロード不要·ワンクリック
キー列で2つのテーブルを left / inner join。アップロード不要、登録不要、ファイルは端末内に留まります。
ファイルA(行を残す側)
.xlsx、.xlsm、または .xls ファイルをここにドロップ、またはクリックして選択
ローカル処理 · アップロードなし
ファイルB(参照テーブル)
.xlsx、.xlsm、または .xls ファイルをここにドロップ、またはクリックして選択
ローカル処理 · アップロードなし
オンラインで2つのExcelテーブルを結合する方法
- ファイルA — 行を残したい側のテーブル(例: 注文リスト)を選びます。選択した瞬間にブラウザー内でローカル解析されます。
- ファイルB — 列を追加する参照テーブル(例: 顧客リスト)を選びます。ファイルAとは独立して同様に解析されます。
- 各ファイルのシート(両方とも最初のシートが既定)とキー列(ID、SKU、メール、顧客番号など両者に共通する識別子)を選びます。キー列は両方ともA列が既定で、1行目が見出しの場合は「A — Id」のように表示されます。
- 1行目が列見出しなら「先頭行はヘッダー」をオンのままにし(両ファイル共通の既定)、結合タイプを選びます。Left join(既定)はファイルAのすべての行を残し、Inner join は一致した行だけを残します。
- 「テーブルを結合」をクリックし、レポート(出力行数、一致行数、B側の重複キー数)を確認して {name}-joined.xlsx をダウンロードします。
仕組み
両ファイルともブラウザー内で SheetJS で開かれ、各ブックはメモリ上の行配列として読み込まれ、各側でシートを1枚ずつ選びます。B テーブルはキー列で索引化されます。キーはまず正規化され、Date は ISO タイムスタンプに統一されて同じ瞬間なら形式が違っても一致し、空セルも有効なキーになる一方で、数値 1 と文字列 "1" は別物として扱われます。次に A テーブルを行単位で順に辿り、各キーを B の索引で検索します。一致すると、B 行のうち B のキー列を除くすべての列を A の列の後ろに追加します。Left join は不一致の A 行を B のセルを空にしたまま残し、Inner join はそれを落とします。B でキーが重複するときは最初の行だけが使われ、残りは重複キーとして件数表示されます。結合された行はセル値から Joined という1枚のシートに再構築され、新しい .xlsx としてパッケージ化されてダウンロードされます。元のファイルは一切変更されません。
ファイルは端末から一切送信されません——100% ブラウザー内で処理されます。
VLOOKUP と Power Query との比較
Excel でキー列を基準に2表を統合するには、列ごとに VLOOKUP や XLOOKUP を手書きするか、Power Query を起動して複数画面の設定を進めるかの2択が常でした。本ツールは中間に位置します——2つの表を選び、それぞれのキー列を指定するだけ、ワンクリックで結合します。
| 方法 | ファイルの行先 | 期待できる結果 |
|---|---|---|
| 本ツール | どこにも送らない——ブラウザー内で処理 | 無料・登録不要・ワンクリック結合・一括対応 |
| VLOOKUP / XLOOKUP 関数 | 自分の PC に残る | 手動・1関数で1列・結果は数式のまま |
| Power Query | 自分の PC に残る | 複数ステップの設定・学習コストがやや高め |
Left join と Inner join の違い
Aテーブル(注文)に3行あり、Bテーブル(顧客)にはそのうち2つの顧客キーしかない場合を見てみましょう:
| Aテーブル — 注文(3行) | Bテーブル — 顧客(2キー) |
|---|---|
| A-101 · 顧客C1 | C1 · Acme Inc. |
| A-102 · 顧客C2 | C2 · Beta GmbH |
| A-103 · 顧客C3 |
| Left join — 3行(既定) | Inner join — 2行 |
|---|---|
| A-101 · C1 · Acme Inc. | A-101 · C1 · Acme Inc. |
| A-102 · C2 · Beta GmbH | A-102 · C2 · Beta GmbH |
| A-103 · C3 ·(空欄) |
Left join の結果は3行のままです。A-103 も残り、Bの列は空になります。Inner join の結果は2行で、C3 はBテーブルに存在しないため消えます。出力行は常にAテーブルの順序を保ち、2ファイルの並び順が違っていても一致します。
Right join と full outer join は提供していません。両側の不一致行を残したい場合は、2つのファイルを入れ替えてもう一度実行し、エディターで結果を統合してください。
出力列と見出しの重複ルール
出力にはまずAテーブルのすべての列が並び、その後にBテーブルのキー列を除くすべての列が続きます。Bのキー列はAのキーと一致済みなので、複製しても情報が重複するだけです。Bのキー列が中央にある場合も、その前後の列は元の順序で出力されます。
Bの見出しが既存の列名(テキスト比較)と重なる場合は自動で改名されます。2つ目には「 (2)」、3つ目には「 (3)」が付き、例えば Name、Name (2)、Name (3) となります。空の見出しセルは列文字(A、B、C…)で判定されるため、A側の無名のB列に続くB側の無名のB列は B (2) になります。
一致は型に厳密です。数値の 1 と文字列の "1" は、Excel が別の型として保存しているため一致しません。日付は先にISOタイムスタンプへ正規化されるため、表示形式が異なる同じ時刻は一致します。空セルと null も有効なキーで、互いに一致します。
こんなときに使えます
- VLOOKUP / XLOOKUP のより手軽な代替: 数式を一切書かずに、参照テーブルの列をトランザクションデータに取り込めます。
- 注文への顧客情報の付加: 顧客IDをキーに、顧客マスタの名称・セグメント・国を注文エクスポートに追加。
- マスターデータのエンリッチメント: SKUをキーに、商品カタログのカテゴリ・価格・仕入先情報を売上や在庫の行に紐付け。
- 2システムのエクスポート統合: CRM と請求データ、アンケート回答と回答者リスト、分析データとキャンペーンメタデータをキーで突き合わせ。
- 参照リストとの重複確認: inner join で両方のファイルに存在するキーを即座に特定できます(left join は残りを空のB列で示します)。
Bテーブルでキーが複数回現れる場合、最初の行だけが一致に使用されます。余分な出現は黙って統合されず、結合後に「B側の重複キー」として件数表示されます。参照テーブルを整理して再実行できます。
ご利用上の注意
- 両ファイルの処理はすべてブラウザー内で完結し、アップロードも登録もありません。
- 結合結果は値から再構築されるため、セルスタイル、列幅、結合セル、グラフ、数式(最後の計算値で保持)は簡略化されます。
- 結果には Joined という1つのシートだけが含まれ、入力が旧形式 .xls でも常に最新の .xlsx でダウンロードされます。
- 暗号化されたブック(開くのにパスワードが必要)は読み取れません。先にパスワードを解除してください。
- Aテーブルで同じキーが繰り返される場合、そのすべての行がB側の同じ(最初の)行に一致します。Aの行は1行も失われません。
よくある質問
このExcel結合ツールは無料ですか?
はい、完全無料です。登録不要、ウォーターマークなし、通常のブックにファイルサイズ制限もありません。両ファイルはブラウザー内で処理され、アップロードされません。
left join と inner join の違いは?
Left join はAテーブルのすべての行を残し、一致するキーがない場合はBの列を空にします。Inner join は両方にキーが存在する行だけを残します。
行はどの列で一致するのですか?
各ファイルで選んだキー列(ID、SKU、メール、顧客番号など)です。両側で列の位置が異なっていてもよく、行の並び順も関係ありません。キーが同じであることだけが条件です。
Bテーブルでキーが重複しているとどうなりますか?
そのキーの最初の行だけがすべての一致に使われ、以降の出現は無視されます。ただし「B側の重複キー」として件数が表示されるので、重複に気づいて参照テーブルを整理できます。
数値の 1 は文字列の "1" と一致しますか?
いいえ、型に厳密なので一致しません。一方、日付はISOタイムスタンプに正規化されるため、表示形式が異なる同じ時刻は一致します。
Bテーブルのキー列は結果に含まれますか?
含まれません。出力はAの全列と、Bのキー列を除く全列で構成されます。キーの値そのものが必要なら、A側のキー列がそのまま残ります。
ファイルはアップロードされますか?
いいえ。解析も結合もすべてブラウザー内で行われ、ファイルが外部のサーバーへ送信されることはありません。
関連ツール
完全なリファレンスはこちら: VLOOKUP 関数の使い方:構文・例・エラー対処 — 構文、例、よくあるエラー、FAQ を掲載。
完全なリファレンスはこちら: XLOOKUP 関数の使い方:構文・例・エラー対処 — 構文、例、よくあるエラー、FAQ を掲載。
完全なリファレンスはこちら: INDEX MATCH 関数の使い方:構文・例・エラー対処 — 構文、例、よくあるエラー、FAQ を掲載。
結合後のデータをさらに整えたいですか?
無料オンラインExcelエディターを開く