何を達成するか
このガイドでは、Excelで別々の列(例: 名と姓)を1つの列にまとめ、各値の間に半角スペースを入れる実践的な方法をステップごとに説明します。Microsoft 365、Excel 2021、Excel 2016など、一般的なバージョンで動作する方法をカバーします。
重要ポイント:
- 結合は元データを上書きしないよう新しい列で行うことを推奨します。
- 「セルの結合(Merge Cells)」は見た目だけでデータ結合とは異なります。分析や並べ替えには不向きです。
主な方法一覧(優先度)
- & 演算子(シンプル、すぐ使える)
- CONCAT / CONCATENATE(複数文字列の連結)
- TEXTJOIN(複数列や区切り文字ありのとき最適)
- フラッシュフィル(パターン認識で自動)
- Power Query(大量データや変換が必要なとき)
1. & 演算子で結合する(最もシンプル)
手順:
- 結合結果を出したいセルを選択(例: C2)。
- 次の数式を入力して Enter を押す:
=A2 & " " & B2
- フィルハンドルを下にドラッグして他の行に適用。
例: A2 が John、B2 が Smith のとき、結果は John Smith になります。
注意: 片方のセルが空白の場合、スペースのみが残るため不要なスペースができることがあります。不要なスペースを取り除きたい場合は TRIM を組み合わせます:
=TRIM(A2 & " " & B2)
2. TEXTJOIN を使う(複数列の結合に最適)
TEXTJOIN は区切り文字を指定して範囲を一度に結合できます。空のセルを無視するオプションもあります。
例:
=TEXTJOIN(" ", TRUE, A2:B2)
- 第1引数: 区切り文字(ここでは半角スペース)
- 第2引数: TRUE = 空セルを無視、FALSE = 空セルも含める
- 第3引数: 結合する範囲
TEXTJOIN は複数列(A2:C2 など)や可変列数でも使えて便利です。
3. CONCAT / CONCATENATE を使う
新しいExcelでは CONCAT が使えます。古いファイル互換性が必要な場合は CONCATENATE を使うこともあります。
=CONCAT(A2, " ", B2)
CONCAT は連結のみで、TEXTJOIN のように範囲指定で区切り文字を一括処理する機能はありません。
4. フラッシュフィル(Flash Fill)で自動化する
パターンが単純なら、フラッシュフィルが便利です。
- 新しい列の最初のセルに期待する結合結果を手入力(例: “John Smith”)。
- 次のセルにフォーカスを当てて「データ」タブ → 「フラッシュ フィル」を選択、または Ctrl+E を押す。
フラッシュフィルは隠れたパターンを検出して残りを自動入力します。ただし、完璧ではないため結果確認を必ず行ってください。
5. Power Query で複雑な結合や大量データを処理する
大量データや事前処理(トリム、条件付き結合、フォーマット)を行うなら Power Query が堅牢です。簡単な流れ:
- データを選択 → 「データ」タブ → 「テーブル/範囲から」を選択
- Power Query エディターで列を選択 → 右クリック → 「列の結合」
- 区切り文字にスペースを指定して「OK」 → 「閉じて読み込む」
Power Query は繰り返し実行や複雑なルールに強く、ETL的な作業に向きます。
結合結果を値として確定する方法
保存や他の計算に影響させないため、数式結果を固定(値に変換)します。
- 結合した列を選択
- Ctrl+C でコピー
- 右クリック → 「貼り付けオプション」→ 「値」または「値として貼り付け」
これで元の列を削除しても結合結果は維持されます。
よくある問題と対処(対例)
- 空白セルが混じると余分なスペースができる: TRIM を使う。
- 日付や数値が結合後に文字列になる: 必要なら TEXT または書式指定を使う(例: TEXT(A2, “yyyy/mm/dd”)).
- 「セルの結合(Merge Cells)」を使うと並べ替えやフィルタが壊れる: データの結合には使用しない。
- フラッシュフィルで誤検出が起こる: 少数行は目視確認する。
追加のヒント(ベストプラクティス)
- 元データは必ずバックアップまたは別列で保持する。
- 名前などの結合では、敬称やミドルネームの規則を前もって決める。
- 大量データなら Power Query で手順を記録して再利用する。
役割別チェックリスト
管理者:
- 元シートをバックアップする
- 結合ルールを文書化する
- 自動化(Power Query)を検討する
データアナリスト:
- 空白や異常値の検出とクリーニング
- 必要に応じて TRIM/PROPER/UPPER を適用
- 結合後に並べ替え・集計できるか確認
一般ユーザー:
- 新しい列でテストしてから元データを削除
- 値として貼り付けで数式を確定
簡易チェックリスト(操作手順)
- 新しい列を作る。
- 推奨フォーミュラを入力(例: =TRIM(A2 & “ “ & B2))。
- フィルで下までコピー。
- 問題なければコピー→値として貼り付け。
- 元の列を削除(必要なら)。
決定フローチャート
次の簡易フローで適切な方法を選んでください:
flowchart TD
A[開始: 列を結合したい] --> B{結合する列は2列?}
B -- Yes --> C{空白セルを無視したい?}
B -- No --> D[TEXTJOIN または Power Query]
C -- Yes --> E[=TEXTJOIN'' ', TRUE, 範囲']
C -- No --> F[=& 演算子 または CONCAT]
E --> G[結果を値にする]
F --> G
D --> G
G --> H[完了]
ミニメソドロジー(少数行で試してから全体へ適用)
- サンプル行で複数の方法を試す。
- データの特殊ケース(空白、数値、日付)で動作確認。
- 最良の方法を選んで全体に適用。
- 結果を値に変換して保存。
よくある質問
Excelで2列をスペースで結合するには?
=A2 & “ “ & B2 のように & 演算子を使えば簡単です。A2 と B2 は実際のセル参照に置き換えてください。
結合した結果をデータとして保持するには?
結合後、列を選んでコピー→右クリック→「値として貼り付け」を選べば数式が値に変わります。
スペースではなくカンマや別の区切りにしたい場合は?
区切り文字を変更するだけです。例: =TEXTJOIN(“, “, TRUE, A2:B2) や =A2 & “, “ & B2。
まとめ
- 単純な2列なら & 演算子、複数列や空セル無視は TEXTJOIN、パターン認識はフラッシュフィル、規模が大きければ Power Query を使うのが効率的です。
- 結果は「値として貼り付け」で固定し、セルの「結合(Merge)」はデータ操作には使わないでください。
- 小さなサンプルで動作を確認してから全体処理を行うことをおすすめします。