Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】

Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】

Amazonのアソシエイトとして、IT技術ライフは適格販売により収入を得ています。

記事の文字数:2642

Excelで複数行を1行にまとめる手法を完全解説。TEXTJOIN関数、Power Query、行列入れ替えなど、状況に合わせた最適な選び方をPREP法で分かりやすく紹介。初心者でも一瞬でデータを整形できるコツが分かります。


更新履歴


Excelユーザにお勧めの本


ITエンジニアにお勧めの本

Excelで複数行を1行にまとめる際、手作業のコピー&ペーストで時間を浪費していませんか? 本記事では、「どの手法をいつ使うべきか」という結論から始め、その理由と具体的な手順、応用テクニックまでを解説します。この記事を読めば、大量データもミスなく一瞬で整形できるようになります。

Excelで複数行を1行にまとめる方法

まずは結論です。Excelで複数行を1行にまとめるには、目的に合わせて以下の4つの手法から選ぶのが最も効率的です。

手法おすすめのケース特徴難易度
TEXTJOIN関数1つのセルにカンマ等で区切って集約したい空白を無視できる。自動更新される。★☆☆
CONCAT関数区切り文字なしでシンプルに結合したい指定した範囲の全文字を連結する。★☆☆
行列の入れ替え単純に縦のデータを横1行に並べ替えたいコピペだけで完了。1回限りの作業に最適。★☆☆
Power Query大量データや複雑な条件で結合したい整形ルールを保存でき、ボタン一つで更新。★★★

複数行を1行にまとめる|手法を使い分ける必要性

最適な手法を選ぶべき理由は、「データの性質」と「保守性」によって効率が劇的に変わるからです。

  1. Excelのバージョンによる制限 最新のTEXTJOIN関数は非常に便利ですが、Excel 2013以前では使用できません。共有相手がExcel 2016(Microsoft 365版)以降を使っているか確認する必要があります。
  2. 作業頻度とデータ量 1回限りの作業なら「行列の入れ替え」が最速ですが、毎日発生する数千行のデータなら「Power Query」を使わないと時間の浪費になります。
  3. ミスの防止 手作業(&記号での結合など)は数が増えるほどミスを誘発します。関数や機能を正しく使うことで、計算漏れやコピーミスを防げます。

それぞれのポイントに基づいた、具体的な活用例を解説します。

1. TEXTJOIN関数:1つのセルにスマートにまとめる

「1つのセルに、カンマ区切りなどで情報を凝縮したい」 場合に最適です。

  • 活用例: 顧客ごとの購入商品を「りんご, みかん, ぶどう」と1セルに表示する。
  • 関数の書き方:
    =TEXTJOIN(",", TRUE, A1:A10)
    • 第1引数:","(区切り文字)
    • 第2引数:TRUE(空白セルを無視する設定。これが非常に便利!)
    • 第3引数:A1:A10(まとめたい範囲)

alt text

応用テクニック

  • セル内で改行してまとめたい: TEXTJOINの区切り文字に CHAR(10) を指定します。 =TEXTJOIN(CHAR(10), TRUE, A1:A5) ※セルの書式設定で「折り返して全体を表示する」をオンにするのを忘れずに。

2. CONCAT関数:区切り文字なしでシンプルに繋げる

「とにかく文字を連結したい、区切り文字はいらない」 という場合に役立ちます。

  • 活用例: 分割されている型番や氏名(苗字と名前など)を1つに繋げる。
  • 関数の書き方:
    =CONCAT(A1:A10)
    ※古いExcelでCONCATENATE関数を使って一つずつ指定していた手間を、範囲指定だけで解消できます。

alt text

3. 「行列の入れ替え」:配置を縦から横へ一瞬で変える

「関数を組むまでもなく、とりあえず向きを変えたい」 という時に最速の手法です。

  • 手順:
    1. 対象範囲をコピー(Ctrl + C)。

alt text

  1. 貼り付け先で右クリック > 「形式を選択して貼り付け」

alt text

  1. 「行/列の入れ替え」 にチェックを入れてOK。

alt text

以下のように行/列が入れ替わって貼り付けられました。

alt text

4. Power Query:大量データや重複統合を自動化する

Power Queryは、「特定のIDごとにデータを1行にまとめたい」「元データが頻繁に更新される」 場合に威力を発揮します。

注文データ(Orders)

本記事では下記データを例に、Power Queryを使った手法を解説します。

注文ID顧客ID顧客名注文日商品名数量
O001C001佐藤太郎2025/01/05ノートPC1
O002C001佐藤太郎2025/01/05マウス1
O003C002鈴木花子2025/01/06キーボード1
O004C001佐藤太郎2025/01/10USBメモリ2
O005C003高橋一郎2025/01/12モニター1
O006C002鈴木花子2025/01/12マウス1
O007C002鈴木花子2025/01/15ノートPC1
O008C003高橋一郎2025/01/18HDMIケーブル2
  • 活用例: 数千行の注文データから、顧客名ごとに購入品を1行に集約する。

  • 手順のポイント:

    1. 「データ」タブ > 「データの取得」>「その他のデータソースから」>「テーブルまたは範囲から」を選択し、エディターを起動。

alt text

テーブルの範囲を指定します。 alt text

  1. 基準の列で「グループ化」を選択し、操作を「すべての行」にする。

キャプチャでは顧客ID,顧客名を選択し、グループ化を押下しました。

alt text

「すべての行」を選択し、OKを押下します。

alt text

下記のようにグループ化された行が表示されます。
alt text

  1. 数式バーで Text.Combine([列名], "、") のようにカスタム列(M言語)を記述。

alt text

キャプチャでは、下記のように記述しました。

= Table.Group(
変更された型,
{"顧客ID", "顧客名"},
{
{
"購入商品一覧",
each Text.Combine(
List.Transform(
Table.ToRecords(_),
each [商品名] & "×" & Text.From([数量])
),
"、"
),
type text
}
}
)
  1. 一度設定すれば、次からは「更新」ボタンだけで完了します。

【まとめ】目的に適した「最短ルート」を選ぼう

Excelで複数行を1行にまとめる作業は、手法の選択が成否を分けます。

  • とりあえず1つのセルに詰め込みたいなら、TEXTJOIN関数
  • 配置を縦から横に変えるだけなら、行列の入れ替え
  • 大量・継続的な処理を自動化したいなら、Power Query

まずは最も簡単な「行列の入れ替え」や「TEXTJOIN」から試し、徐々にPower Queryなどの高度な手法を取り入れてみてください。手作業をゼロに近づけることが、ミスを減らし事務作業を劇的に効率化するための最短ルートです。


Excelユーザにお勧めの本


ITエンジニアにお勧めの本


以上で本記事の解説を終わります。
よいITライフを!
Scroll to Top