Excel で列のデータを1 つのセルに転置するには、どうすればよいですか?
Excel を使っていると、列に並んだ縦方向のデータリストを1 つのセルに結合する必要がよくあります。この操作は、集計結果の作成やレポート作成、データのエクスポート、あるいは集約された値を他のシステムやツールに送信する際に頻繁に行われます。結合対象のリストが短い場合は、CONCATENATE 関数やTEXTJOIN 関数を使うこともできますが、結合するセル数が多くなると、これらの関数は扱いづらく、作業効率が大きく低下してしまいます。本記事では、Excel の列データを1 つのセルに転置して結合するための実用的で効率的な方法をいくつかご紹介します。VBA コードによる自動化や、専用アドイン「Kutools for Excel」の活用法も含まれており、特に大規模なデータセットを処理する際に、手作業によるミスを減らし、大幅な時間短縮を実現します。
Kutools for Excel で列のデータを1 つのセルに転置する
ユーザー定義関数(VBA)で列のデータを1 つのセルに転置する
Excel の数式で列のデータを1 つのセルに転置する
マクロやアドインを使いたくない場合でも、Excel の数式で同じ結果を得ることができます。以下の解決策では、Excel 2016 以降のバージョンで利用可能なTEXTJOIN 関数を使用します。小規模な範囲であれば、代わりにCONCATENATE 関数やCONCAT 関数を使うことも可能ですが、TEXTJOIN 関数はそのシンプルさと空白セルを自動的に無視できる機能から、強くおすすめします。
1。結合結果を表示したいセル(例:B1)を選択し、次の数式を入力してください。
=TEXTJOIN(",",TRUE,A1:A10) 2。Enter キーを押すと、A1~A10 の値がカンマ区切りで B1 セルに結合されて表示されます。区切り文字は、引用符内のカンマを変更することで自由に調整可能です(例:セミコロンには「;」、スペースには「」を使用)。
別の範囲に適用したい場合は、A1:A10を目的のセル参照に置き換えてください。TRUEを2 番目の引数として指定すると、Excel はリスト内の空白セルを無視します。お使いのExcel のバージョンが2016 より古い場合、TEXTJOIN 関数が利用できないため、VBA または従来の数式の組み合わせを使用する必要があります。
この数式ベースのアプローチは、マクロが制限された環境に最適で、データを更新すると即座に反映されます。ただし、非常に広い範囲では数式の処理が遅くなったり、応答性が低下したりする可能性がある点にご注意ください。
Kutools for Excel で列のデータを1 つのセルに転置する
Kutools for Excel をお使いの場合、専用の結合機能で、列・行・カスタム範囲のデータを直感的なインターフェースと柔軟な区切り文字・出力先設定により、1 つのセルに効率的に結合できます。この方法は、頻繁にデータを集約する必要があり、数式を使わず簡単かつ確実に処理したいユーザーに最適です。コーディングは不要です。
Kutools for Excel がインストール済みで有効になっている場合は、以下の手順に従ってください。
1。集約したいデータ列を1 つのセルに選択します。
2。Excel のリボンで、Kutools > 結合と分割 > 行/列/セルの結合と値の保持の順にクリックしてください。操作方法は、以下のスクリーンショットをご参照ください。

3。表示されるダイアログボックスで、1 つのセルに結合するを、選択したセルを次のオプションに従って結合するの下から選択してください。その後、マージ結果の区切り文字(カンマ、スペース、セミコロンなど)を選択するか、必要に応じて独自の区切り文字を入力できます。参考までに、以下のスクリーンショットをご覧ください。

4。OKまたは適用をクリックすると、Kutools が指定された設定に従って選択した列の値を即座に1 つのセルに結合します。この処理は大規模なデータセットでも高速で、元のデータは一切変更されません。結果の例を以下に示します。
![]() | ![]() | ![]() |
今すぐ Kutools for Excel をダウンロードして、無料トライアルをお試しください!
Kutools for Excel は、テーブルの結合・再整形・クリーンアップを定期的に行うユーザーにとって、こうしたデータ処理を格段に簡単かつ快適にします。レポート要件に応じてさまざまな区切り文字設定を自由に試すことができ、数千セルを処理する大規模な作業でも安定して動作します。ツールが起動しないなどの問題が発生した場合は、Kutools が正しくインストールおよび更新されていること、およびアクション実行前に正しい範囲が選択されていることをご確認ください。
Kutools は結合タスクを効率化し、ソースデータの整合性を保ちますが、結合結果は静的である点にご注意ください。元のデータを後から更新しても、再度結合操作を行わない限り、結合セルは自動的に同期されません。
ユーザー定義関数で列のデータを1 つのセルに転置する
Excel の CONCATENATE 関数でリスト値を結合する方法に加え、VBA で記述されたユーザー定義関数(UDF)を使えば、列の値を素早く1 つのセルに結合・転置することも可能です。この方法は、リストが長かったり、項目間にカスタムの区切り文字が必要だったりする場合に、特に効率的で柔軟な選択肢となります。マクロの使用に抵抗がなく、将来的にも繰り返し活用できる実用的な解決策をお探しのユーザーに最適です。
1。Alt + F11を同時に押して、Microsoft Visual Basic for Applicationsエディターを開きます。
2。VBA ウィンドウで、挿入 > 標準モジュールをクリックして新しいモジュールを作成し、以下のコードを空のモジュールにコピー&ペーストしてください。
VBA コード:列のデータを1 つのセルに転置する
Function transposeRange(Rg As Range)
'update by Extendoffice
Dim xCell As Range
Dim xStr As String
For Each xCell In Rg
If Not IsEmpty(xCell.Value) Then
xStr = xStr & xCell.Value & ","
End If
Next
transposeRange = Left(xStr, Len(xStr) - 1)
End Function
3。変更を保存して VBA エディターを閉じ、ワークシートに戻ります。対象セルに次の数式を入力してください:=transposerange(A1:A10)。Enterキーを押して数式を適用すると、A1~A10 の値がカンマ(または任意の区切り文字)で1 つのセルに結合されます。結果の例は以下のスクリーンショットをご参照ください。

注:このコードにおけるA1:A10は目的の列範囲を示します。必要に応じて、範囲を調整してください。カンマ以外の区切り文字(例:セミコロン、スペース、ダッシュなど)を使いたい場合は、xStr = xStr & xCell.Value & ","の部分でカンマを希望の文字に置き換えてください。VBA の UDF を使用する際は、ブックでマクロが有効になっていることを必ず確認してください。リストに空白セルが含まれている場合、それらも結合結果に含まれます。空白セルを除外したい場合は、コードをさらにカスタマイズする必要があります。
数式を入力した後、#NAME?エラーが表示された場合は、コードを正しくコピーしたか、ファイルをマクロ有効ブックとして保存したか、そしてマクロが現在のブックで利用可能かどうかをご確認ください。また、VBA コードを開いたり記述したりする際には、マクロのセキュリティ警告を許可する必要がある場合があります。
この VBA アプローチは結果のフォーマットを柔軟に設定できますが、オンラインで共有するブックやマクロが制限された環境には向いていません。また、ソース範囲のデータが変更されても、再計算を強制しない限り自動更新されないことがあります。ただし、一時的または自動化されたタスクには依然として効率的な解決策です。
最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得


