更新履歴
- Excelで複数行を1行にまとめる方法まとめ【関数・PQ対応】
- レスポンスタイムとターンアラウンドタイムの違い【基本情報対策】
- ステートレスとステートフルの違いを徹底解説!エンジニアが知るべき仕組みと具体例
- shとbashの違いを徹底解説!シェルスクリプトの使い分け
- 【徹底比較】イーサネットとWi-Fi違いと選び方を解説
- 【徹底解説】UTF-8 BOMあり・なしの違いと選び方
- npmとYarn、開発者が知るべき違いとは?
- 【Linux】nanoコマンドの使い方 | 基本操作からショートカット、便利設定
- 「Git pull 強制」は危険?ローカル変更を破棄してリモートに合わせる安全な方法
- 【保存版】PNGとJPEGの違いを徹底比較!用途別使い分けガイド
- GUIとCUIの違いとは?初心者でもわかるメリット・デメリットと使い分けを徹底解説
- Web1 Web2 Web3 違いを徹底解説:それぞれの特徴と比較
- SMTP・POP3・IMAPの違いを徹底解説 | メール送受信プロトコル
- 【Linux】容量の大きいファイル・ディレクトリを確認する方法
- nc(Netcat)コマンド徹底解説|ポート指定で疎通確認する
- 【VSCode】JSON・XMLを整形・最小化する方法
- 【Excel】シートが見えない!表示されない原因と対処法
- 【Linux】lsofコマンドの見方・活用ガイド
- 【A5M2】テーブルにNULL値を入力する方法
- 【Linux】標準出力と標準エラー出力の違い
Excelユーザにお勧めの本
ITエンジニアにお勧めの本
Excelで複数行を1行にまとめる際、手作業のコピー&ペーストで時間を浪費していませんか? 本記事では、「どの手法をいつ使うべきか」という結論から始め、その理由と具体的な手順、応用テクニックまでを解説します。この記事を読めば、大量データもミスなく一瞬で整形できるようになります。
Excelで複数行を1行にまとめる方法
まずは結論です。Excelで複数行を1行にまとめるには、目的に合わせて以下の4つの手法から選ぶのが最も効率的です。
| 手法 | おすすめのケース | 特徴 | 難易度 |
|---|---|---|---|
| TEXTJOIN関数 | 1つのセルにカンマ等で区切って集約したい | 空白を無視できる。自動更新される。 | ★☆☆ |
| CONCAT関数 | 区切り文字なしでシンプルに結合したい | 指定した範囲の全文字を連結する。 | ★☆☆ |
| 行列の入れ替え | 単純に縦のデータを横1行に並べ替えたい | コピペだけで完了。1回限りの作業に最適。 | ★☆☆ |
| Power Query | 大量データや複雑な条件で結合したい | 整形ルールを保存でき、ボタン一つで更新。 | ★★★ |
複数行を1行にまとめる|手法を使い分ける必要性
最適な手法を選ぶべき理由は、「データの性質」と「保守性」によって効率が劇的に変わるからです。
- Excelのバージョンによる制限
最新の
TEXTJOIN関数は非常に便利ですが、Excel 2013以前では使用できません。共有相手がExcel 2016(Microsoft 365版)以降を使っているか確認する必要があります。 - 作業頻度とデータ量 1回限りの作業なら「行列の入れ替え」が最速ですが、毎日発生する数千行のデータなら「Power Query」を使わないと時間の浪費になります。
- ミスの防止 手作業(&記号での結合など)は数が増えるほどミスを誘発します。関数や機能を正しく使うことで、計算漏れやコピーミスを防げます。
それぞれのポイントに基づいた、具体的な活用例を解説します。
1. TEXTJOIN関数:1つのセルにスマートにまとめる
「1つのセルに、カンマ区切りなどで情報を凝縮したい」 場合に最適です。
- 活用例: 顧客ごとの購入商品を「りんご, みかん, ぶどう」と1セルに表示する。
- 関数の書き方:
=TEXTJOIN(",", TRUE, A1:A10)
- 第1引数:
","(区切り文字) - 第2引数:
TRUE(空白セルを無視する設定。これが非常に便利!) - 第3引数:
A1:A10(まとめたい範囲)
- 第1引数:

応用テクニック
- セル内で改行してまとめたい: TEXTJOINの区切り文字に
CHAR(10)を指定します。=TEXTJOIN(CHAR(10), TRUE, A1:A5)※セルの書式設定で「折り返して全体を表示する」をオンにするのを忘れずに。
2. CONCAT関数:区切り文字なしでシンプルに繋げる
「とにかく文字を連結したい、区切り文字はいらない」 という場合に役立ちます。
- 活用例: 分割されている型番や氏名(苗字と名前など)を1つに繋げる。
- 関数の書き方:
※古いExcelで=CONCAT(A1:A10)
CONCATENATE関数を使って一つずつ指定していた手間を、範囲指定だけで解消できます。

3. 「行列の入れ替え」:配置を縦から横へ一瞬で変える
「関数を組むまでもなく、とりあえず向きを変えたい」 という時に最速の手法です。
- 手順:
- 対象範囲をコピー(Ctrl + C)。

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

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

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

4. Power Query:大量データや重複統合を自動化する
Power Queryは、「特定のIDごとにデータを1行にまとめたい」「元データが頻繁に更新される」 場合に威力を発揮します。
注文データ(Orders)
本記事では下記データを例に、Power Queryを使った手法を解説します。
| 注文ID | 顧客ID | 顧客名 | 注文日 | 商品名 | 数量 |
|---|---|---|---|---|---|
| O001 | C001 | 佐藤太郎 | 2025/01/05 | ノートPC | 1 |
| O002 | C001 | 佐藤太郎 | 2025/01/05 | マウス | 1 |
| O003 | C002 | 鈴木花子 | 2025/01/06 | キーボード | 1 |
| O004 | C001 | 佐藤太郎 | 2025/01/10 | USBメモリ | 2 |
| O005 | C003 | 高橋一郎 | 2025/01/12 | モニター | 1 |
| O006 | C002 | 鈴木花子 | 2025/01/12 | マウス | 1 |
| O007 | C002 | 鈴木花子 | 2025/01/15 | ノートPC | 1 |
| O008 | C003 | 高橋一郎 | 2025/01/18 | HDMIケーブル | 2 |
-
活用例: 数千行の注文データから、顧客名ごとに購入品を1行に集約する。
-
手順のポイント:
- 「データ」タブ > 「データの取得」>「その他のデータソースから」>「テーブルまたは範囲から」を選択し、エディターを起動。

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

- 基準の列で「グループ化」を選択し、操作を「すべての行」にする。
キャプチャでは顧客ID,顧客名を選択し、グループ化を押下しました。

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

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

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

キャプチャでは、下記のように記述しました。
= Table.Group( 変更された型, {"顧客ID", "顧客名"}, { { "購入商品一覧", each Text.Combine( List.Transform( Table.ToRecords(_), each [商品名] & "×" & Text.From([数量]) ), "、" ), type text } })- 一度設定すれば、次からは「更新」ボタンだけで完了します。
【まとめ】目的に適した「最短ルート」を選ぼう
Excelで複数行を1行にまとめる作業は、手法の選択が成否を分けます。
- とりあえず1つのセルに詰め込みたいなら、TEXTJOIN関数。
- 配置を縦から横に変えるだけなら、行列の入れ替え。
- 大量・継続的な処理を自動化したいなら、Power Query。
まずは最も簡単な「行列の入れ替え」や「TEXTJOIN」から試し、徐々にPower Queryなどの高度な手法を取り入れてみてください。手作業をゼロに近づけることが、ミスを減らし事務作業を劇的に効率化するための最短ルートです。
Excelユーザにお勧めの本
ITエンジニアにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!