Excel で列をカンマ区切りのリストに変換するにはどうすればよいですか?
Excel でデータを扱う際、縦に並んだ項目リストをカンマ区切りの1 つの文字列に変換する必要が頻繁に生じます。データベースへの入力準備、レポート作成、ワークシートの整理など、その用途はさまざまですが、そのための方法も複数あります。以下では、最適化された4 つの方法をご紹介します。
Kutools for Excel を使って列をカンマ区切りリストに変換する

数式を使って列をカンマ区切りリストに変換する
Excel には列をカンマ区切りリストに変換する専用関数はありませんが、Office 365/2019 以降では TEXTJOIN 関数を、またどのバージョンでも CONCAT と IF 関数を組み合わせて簡単に実現できます。
数式1:TEXTJOIN 関数(Excel 2019 以降のバージョン、Office 365)
TEXTJOIN はExcel で最も高度な連結関数であり、柔軟な区切り文字の選択と空白セルの自動除外という二つの機能により、現代のExcel ユーザーにとって最もシンプルでスマートな解決策を提供します。
1。カンマ区切りのリストを表示したいセルを選択し、次の数式を入力してください。
=TEXTJOIN(", ", TRUE, A2:A10) 2。Enterキーを押すと、カンマ区切りの値が取得されます。

- 「,」は区切り文字(カンマ+スペース)です。
- TRUE を指定すると、Excel は空白セルを無視します。
- A2:A10 がソース範囲です。
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A10)) - 🔹シンプルな実装:必要なのはたった1 つの関数だけです。
- 🔹柔軟な区切り文字:必要に応じて「,」(カンマ+スペース)または「、」(カンマのみ)を使い分けられます。
- 🔹自動処理:ignore_empty を TRUE に設定すると、空白セルをスキップします。
- 🔸Excel 2019 以降または Office 365 が必要です。
数式2:CONCAT 関数と IF 関数(すべてのExcel バージョン)
TEXTJOIN 関数が登場する前は、CONCAT 関数と IF 関数を組み合わせてリストを作成し、先頭の区切り文字を削除する方法が用いられていました。
1。カンマ区切りのリストを表示したいセルを選択し、次の数式を入力してください。
=CONCAT(IF(A2:A10<>"", A2:A10 & ", ", "")) 2。Ctrl + Shift + Enterキーを同時に押すと、結果が得られます。

- IF(A2:A100「」, A2:A100 & 「,」, 「」):A2~A100 の各セルをチェックし、空でない場合はその値にカンマを付けて返し、空の場合は空文字列を返します。
- CONCAT(...):配列内のすべての要素を、1 つの連続した文字列に連結します。
- 🔹幅広い互換性:新関数に依存せず、配列数式をサポートするすべてのExcel バージョンで動作します。
- 🔹空白セルを無視:IF チェックにより、空のセルが自動的にスキップされます。
- 🔸操作が煩雑:配列数式として入力する必要があり、Ctrl + Shift + Enter キーを押す必要がありますが、初心者はつい忘れがちです。
- 🔸パフォーマンスが低い:数万行規模のデータセットを処理する際、計算が大幅に遅くなったり、フリーズしたりすることがあります。
- 🔸結果を固定するには、末尾の区切り文字を削除するための追加手順が必要です。
Kutools for Excel を使って列をカンマ区切りリストに変換する
Kutools for Excel には、強力な行/列/セルの結合と値の保持ユーティリティが搭載されています。たった数回のクリックで、列全体の内容を1 つのセルに簡単に結合可能!ソース範囲と区切り文字(カンマ、セミコロン、スペース、または任意のカスタム記号)を指定するだけで、手動でのコピーアンドペーストなしに、即座に整った区切り文字付きリストを作成できます。さらに、空白セルを無視したり、元の書式をそのまま保持したりするオプションも備えており、縦方向のデータをすばやく見やすいカンマ区切りリストに変換するのに最適なソリューションです。
1。カンマ区切りリストに変換したい列を選択し、Kutools > 結合と分割 > 行/列/セルの結合と値の保持をクリックします。

2。表示された列の結合または行ダイアログボックスで、次の操作を行ってください。
- (1)[選択した範囲を次の方法で結合する]セクションで、[1 つのセルに結合する]オプションをオンにします。
- (2)区切り文字セクションで「その他の区切り文字」オプションをオンにして、カンマ「、」を入力します。
- (3。)元のセルのデータを保持するか削除するか、その扱い方を選択します。
- (4。)「結合された値を次の場所に配置する」セクションで「他のセル」オプションを選択し、結果を出力するセルをクリックして指定してください。
- (5。)最後に、「OK」ボタンをクリックしてください。

結果は、指定したターゲットセルに挿入されます。

- 🔹非常にユーザーフレンドリーです。
- 🔹数式やコードは不要です。
- 🔹大規模な範囲もスムーズに処理可能です。
- 🔹任意の区切り文字で行・列・範囲を結合でき、書式を保持したまま、出力先を自由に選べます。
- 🔸インストールが必要です。
VBA コードを使って列をカンマ区切りリストに変換する
あるいは、タスクの自動化をご希望の場合や、より大規模で動的に変化する範囲を処理する必要がある場合は、VBA マクロを作成できます。このマクロは指定した列の各セルをループ処理し、空白でない値にカンマ(または任意の区切り文字)を付けて連結します。その後、末尾の不要な区切り文字をトリムし、完全に連結されたカンマ区切りの文字列をターゲットセルに出力します。
1。キーボードでAltキーを押しながらF11キーを押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2。挿入>標準モジュールをクリックして、VBA コードをモジュールにコピーしてください。
VBA:列をカンマ区切りリストに変換する
Sub ChangeRange()
' Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Dim outStr As String
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select source range:", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Output to (single cell):", xTitleId, Type:=8)
outStr = ""
For Each rng In InputRng
If Len(Trim(rng.Value)) > 0 Then
If outStr = "" Then
outStr = rng.Value
Else
outStr = outStr & ", " & rng.Value
End If
End If
Next rng
OutRng.Value = outStr
End Sub
3。実行ボタンをクリックするか、F5キーを押して VBA を実行すると、変換したい列を選択できるダイアログが画面に表示されます。スクリーンショットをご参照ください。

4。OKをクリックすると、セルを選択できる別のダイアログが表示されます。スクリーンショットをご参照ください。

5。OKをクリックすると、列内のすべての値が1 つのセルにカンマ区切りのリストとしてまとめられます。

結論:
- シンプルさとパフォーマンスを重視するなら、Excel 2019/365 の TEXTJOIN 関数をご利用ください。
- 互換性を重視するなら、CONCAT+IF の配列メソッドがすべてのバージョンで動作します。
- 数式を使わずに一時的な作業を行うには、Kutools がクリック操作だけで完結するソリューションを提供します。
- 完全な自動化や複雑なルールが必要な場合は、VBA マクロが最も柔軟な選択肢です。
お使いのExcel バージョン、作業頻度、アドインや VBA への習熟度に応じて、最適な方法をお選びください。これらの最適化されたテクニックを使えば、どんな列も瞬時に整ったカンマ区切りリストに変換できます!さらにExcel のヒントやテクニックを知りたい方は、当サイトで数千ものチュートリアルをご覧いただき、Excel の達人を目指してください。
関連記事:
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得
