Excel でセルの値を縦方向に分割するには、どうすればよいですか?
Excel で作業していると、1 行または複数行に含まれる複数の値を縦方向のリストに変換する必要が生じることがあります。これは特に、データが横方向に並んでいるものの、列形式で処理・分析したい場合に非常に役立ちます。
このガイドでは、セルの値を縦方向に変換するための3 つの効率的な方法をご紹介します。
Excel でセルの値を縦方向に行に分割する
- 数式を使用(Excel 365)– 動的かつ自動的な変換に最適
- Kutools for Excel を使用– すべてのExcel バージョン向けの専用ツールによる簡単で迅速なソリューション
- VBA コードを使用– すべてのExcel バージョンで処理を自動化するのに最適
数式を使用してセルの値を縦方向に行に分割(Excel 365)
Excel 365 をご利用の場合、TEXTSPLIT 関数、TEXTJOIN 関数、および TRANSPOSE 関数を活用すれば、手動操作なしにセルの値を縦方向に変換できます。
以下の数式を空白セルにコピー&ペーストして「Enter」キーを押すと、Excel が自動的にデータを複数行に展開します(スクリーンショット参照)。
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(";", TRUE, A1:A4), ";")) 
- TEXTJOIN(";", TRUE, A1:A4):セル A1~A4 のテキストをセミコロン(;)で区切りながら、1 つの文字列にスマートに結合します。
- TEXTSPLIT(。。。):セミコロンを区切り文字として、結合された文字列を個別の値に再分割します。
- TRANSPOSE(。。。):縦方向の値リストを横方向の行に変換します(元の向きによっては、その逆も可能です)。
✅メリット:
- ✔ 動的更新:ソースデータが変更されると、数式が自動で結果を更新します。
- ✔ 手動操作不要:繰り返しの手動分割作業がなくなります。
- ✔ 区切り文字のカスタマイズ:セミコロン(;)をカンマやスペースなど、任意の区切り文字に置き換えて、データに最適な形で調整できます。
❌デメリット:
- ✘ Excel 365 でのみご利用いただけ、旧バージョンのExcel では動作しません。
Kutools for Excel を使用してセルの値を縦方向に行に分割
Excel 2019 以前のバージョンをご利用の場合は、「Kutools for Excel」(データの変換と管理を簡単にできる強力なアドイン)をご活用ください。「複数行に分割する」機能を使えば、任意の区切り文字に基づいてセルの値をシームレスに縦方向に展開できます。
「Kutools for Excel」をインストールしたら、次の手順に従ってください。
- 「Kutools」>「結合と分割」>「複数行に分割する」をクリックしてください(スクリーンショット参照)。
![[Kutools] > [結合/分割] > [データを行に分割] をクリック](//cdn.extendoffice.com/images/stories/doc-excel/split-cells-vertically/doc-split-vertically-2.webp)
- 「複数行に分割する」ダイアログボックスで、以下の操作を指定してください。
- 分割したいセルを選択してください。
- 「区切り文字」セクションで、セルの内容をどのように分割するかを定義する区切り文字を選択します。ここでは「セミコロン」を選びましょう。
- 最後に、「OK」ボタンをクリックしてください。

結果:データが縦方向の列に変換されます。
✅メリット:
- ✔ Excel のすべてのバージョン(2010、2013、2016、2019、2021、365)で動作します。
- ✔ 複雑な数式やコーディングは一切不要です。
- ✔ 幅広い区切り文字をサポートしています。
- ✔ Kutools には300 以上のデータ操作ツールが搭載されており、他の作業にかかる時間を大幅に節約できます。
❌デメリット:
- ✘ Kutools のインストールが必要です。
VBA コードを使用してセルの値を縦方向に行に分割
上級ユーザー向けに、VBA はセルの値を縦方向に分割するための堅牢な自動化ソリューションを提供します。以下の VBA コードを使えば、任意のカスタム区切り文字でセルの内容を簡単に複数行に分割できます。
1「ALT」+「F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。
2. 「挿入」>「標準モジュール」をクリックし、表示される「標準モジュール」ウィンドウに以下のコードを貼り付けてください。
VBA コード:特定の区切り文字でセルの値を縦方向に行に分割
Sub splitvertically()
'updatebyExtendoffice
Dim xRg As Range
Dim xOutRg As Range
Dim xCell As Range
Dim xTxt As String
Dim xStr As String
Dim xOutArr As Variant
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOutRg = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
If xOutRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xStr = "" Then
xStr = xCell.Value
Else
xStr = xStr & ";" & xCell.Value
End If
Next
xOutArr = VBA.Split(xStr, ";")
xOutRg.Range("A1").Resize(UBound(xOutArr) + 1, 1) = Application.WorksheetFunction.Transpose(xOutArr)
End Sub
3。次に「F5」キーを押してこのコードを実行すると、縦方向に分割したいセルの値を選択するよう促すプロンプトボックスが表示されます(スクリーンショット参照)。
4。次に「OK」ボタンをクリックすると、結果を出力するセルを選択するよう促す別のダイアログボックスが表示されます(スクリーンショット参照)。
5.「OK」ボタンをクリックすると、セルの値が区切り文字に基づいてリストに分割されます(スクリーンショット参照)。
✅メリット:
- ✔ 処理を自動化して、時間を節約しましょう。
- ✔ すべてのExcel バージョンに対応しています。
- ✔ 区切り文字に応じてカスタマイズ可能です。
❌デメリット:
- ✘ VBA プログラミングの基本知識が必要です。
- ✘ 初心者にはやや複雑です。
Excel でセルの値を縦方向に変換する方法はいくつかあり、それぞれに独自の強みがあります。これらの方法をマスターすれば、ご自身のニーズにぴったりのアプローチを選んで、Excel ワークフローをさらに効率化できます。初心者の方も上級者の方も、これらのツールとテクニックを使いこなせば、データをより効果的かつスピーディーに扱えるようになります。さらに多くの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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得
![[Kutools] > [結合/分割] > [データを行に分割] をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/split-cells-vertically/doc-split-vertically-2.webp)
