Excelでカンマ区切りの値を行や列に分割する方法

  • これを共有
Hugh West

で作業していると、時々 マイクロソフトエクセル カンマで区切られた連続値を別の列や行に分割する必要があります。 他のアプリケーションから生成されたデータをエクセルにインポートすると、すべてのデータがカンマで区切られた1つの列に配置される場合があります。 さらに、要件に応じてデータの特定の部分を抽出する必要があります。 この記事では、カンマ区切り値を複数の列に分割する方法を説明します。列/行を、いくつかの関数や機能を使って表示することができます。

練習用ワークブックをダウンロードする

この記事の作成に使用した練習用ワークブックをダウンロードすることができます。

カンマ区切り値を行または列に分割する.xlsm

Excelでカンマ区切りの値を行や列に分割する5つの方法

1.Excelの「テキストを列に変換」機能を使って、データをカンマで行/列に分割する

1.1. 値を列に分割する

まず最初に テキストをカラムに エクセルでデータを複数の列に分割する機能です。 この方法は、最も簡単な方法です。 列方向にデータを分割する 例えば,カラムがカンマで区切られた複数の果物を含むデータセットがあるとする. その中には 3 の果実は、それぞれのセルで分割されます。 B 3 異なる列(カラム C , D & E ).

以下の手順で作業を行ってください。

ステップス

  • まず、データセット全体を選択し データ > データツール > テキストをカラムに .

  • その結果 テキストから列への変換ウィザード が表示されます。 さて、ここからが本題です。 オリジナルデータ型 セクションを選択します。 区切られた をクリックします。 次のページ .

  • そして、その中から デリミタ の部分にチェックを入れてください。 コンマ を押してください。 次のページ .

  • その後 目的地 の場所(ここ。 セルC5 ) を押してください。 仕上がり .

  • 最後に テキストから列への変換ウィザード カンマで区切られたデータはすべてカラムに分割され、以下のような結果が得られます。 C , D そして E .

続きを読む: Excelの1つのセルのデータを複数の列に分割する方法(5つの方法)

1.2. テキストを列にして行に分割する

では、カンマで区切られた値を分割して 複数列 例えば、果物の名前を含む以下のようなデータセットがあったとする。 これらの値を複数行に分割する前に、以下のようにして列を分割する。 テキストをカラムに 機能を搭載しています。

ステップス

  • 最初に選択する セルB5 にアクセスしてください。 データ > テキストをカラムに .
  • そして、その中から テキストから列への変換ウィザード 選ぶ オリジナルデータ型 : 区切られた をクリックします。 次のページ .
  • ここで、以下を選択します。 デリミタ のタイプになります。 コンマ をクリックします。 次のページ .
  • その後 目的地 セル(ここでは セルC5 ) を押してください。 仕上がり .
  • その結果、以下のような出力が得られます。 ここで、結果のデータを複数行に配置することにします。 そのためには、範囲 C5:G5 .

  • その後、右クリックで セルB7 を選択します。 トランスポーズ から 貼り付けオプション (スクリーンショット参照)。

  • 最終的に、カンマで区切られたすべての値が行に分割され、求めていた結果を得ることができます。 7 まで 11 .

続きを読む: Excelでデータを分割する方法(5つの方法)

2.カンマで区切られた値を列や行に分割するExcel Power Query

2.1. 値を列に分割するパワー・クエリ

今回は、エクセルを使用します パワークエリ は、カンマで区切られたデータを複数の列に分割するためのものです。 以下の手順でタスクを実行します。

ステップス

  • まず、既存のデータセットのいずれかのセルにカーソルを置き、次の操作を行います。 データ > テーブル/レンジから ( データの取得と変換 のグループ)。

  • その結果、Excelはデータ範囲を表に変換するように要求します。 データ範囲を確認し、以下のボタンを押します。 よっしゃー を使用してテーブルを作成します。

  • その結果 パワークエリエイトエディタ のウィンドウが表示され、下表のようになります。 パワークエリエイトエディタ ウィンドウに移動します。 ホーム > スプリットコラム > デリミターによる .

  • その後 デリミタによる列の分割 のダイアログが表示されます。 コンマ から デリミターの選択または入力 を押してください。 よっしゃー (スクリーンショット参照)。

  • その結果、Excelはテーブルを以下のように分割します。 3 カラムを閉じます。 パワークエリエイトエディタ にアクセスしてください。 ホーム > 閉じる & 読み込む > 閉じる & 読み込む .

  • 最後に、最終的に得られた結果を紹介します。 カンマで区切られたデータは、すべて 3 テーブルのカラムを指定します。

続きを読む: Excelでデータを複数の列に分割する方法

2.2. データを行に分割する

ここでは、カンマで区切られた値を複数行に分割するために エクセルパワークエリ .

ステップス

  • にカンマで区切られた果物がいくつかあります。 セルB5 & C5 応募する パワークエリ をクリックすると、これらの値が表示されます。 セルB5 または C5 にアクセスしてください。 データ > テーブル/レンジから .

  • 次に テーブルの作成 ダイアログが表示されますので、テーブルの範囲を確認し、[OK]を押します。 よっしゃー その結果、以下のようなテーブルが作成されます。 パワークエリエイトエディタ ウィンドウに表示されます。
  • 次に、テーブルを選択して、次のようにします。 ホーム > スプリットコラム > デリミターによる .

  • 現在 デリミタによる列の分割 のダイアログが表示されます。 デリミターの選択または入力 セクション選択 コンマ にアクセスしてください。 詳細オプション をクリックします。 フィールドから に分かれる。 終了したら、 を押します。 よっしゃー .

  • を押すと よっしゃー をクリックすると、以下のような出力が得られます。 に移動します。 ホーム > 閉じる & 読み込む > 閉じる & 読み込む をクリックすると、Excelのワークシートに結果が表示されます。

  • 最終的に、以下のような結果が得られました。 カンマで区切られたすべての値が行に分割されています。 2 まで 7 .

LEFT、RIGHT、MID、FIND、LEN関数を組み合わせてカンマ区切りの値を列方向に分割する。

カンマで区切られたデータをエクセル関数を使って複数の列に分割することができます。 基本的には、区切り文字(カンマ、スペース、セミコロン)をもとにエクセル関数を組み合わせて、異なる列のデータの一部を抽出します。 この方法では、データを抽出するのに 3 の列にある連続したテキスト文字列の位置を指定します。 B を、複数の列に配置します。

3.1.最初の単語を探す

最初は、連続したテキスト文字列から、最初の単語を抽出するために FIND の機能を持つ。

ステップス

  • に以下の数式を入力してください。 セルC5 を押してください。 入力 をキーボードから入力します。
=left(b5,find(",", b5)-1)

  • 数式を入力すると、Excelは' 日付 'の最初の単語である セルB5 .

ここでは FIND の位置を返す関数です。 第1回 カンマです。 関数は,最初のカンマの前の単語を取り出す。

3.2. 2番目の単語を抽出する

では、その組み合わせで ミッド FIND から2番目の単語を抽出する関数です。 セルB5 .

ステップス

  • に次の数式を入力します。 セルD5 を打つと 入力 .
=MID(B5,FIND(",",B5)+1,FIND(",",B5,FIND(",",B5)+1)-FIND(",",B5)-1)

  • その結果、上式では ぶどう を、 第2回 ことば セルB5 .

ここでは ミッド の文字列の途中の文字を返す関数です。 セルB5 .そして、その FIND の位置を返す関数です。 第2回 打ち込む セルB5 .

3.3.3.3番目の単語を探す

を抽出するとします。 3位 言い出す セルB5 を抽出する際に、カンマの位置に応じて 3位 の単語を使用します。 ライト , LEN そして FIND の機能を持つ。

ステップス

  • に以下の数式を入力してください。 セルD5 次に、 を押します。 入力 .
=right(b5, len(b5)-find(",", b5,find(",",b5)+1)))

  • を打つと 入力 が返されます。 スイカ というものである。 3位 の連続したデータの言葉。 セルB5 .

ここでは LEN の長さを返す関数です。 セルB5 .それから FIND のカンマの位置を返す関数です。 セルB5 .その後、その結果に応じて FIND LEN が機能します。 ライト 関数は セルB5 .

  • 私はすべてを受け取ったように 第1回 , 第2回 そして 3位 の文字列を異なる列で表示し、残りの行でも同様の結果が得られるようにします。 そのためには、範囲指定で C5:D5 を使用し フィルハンドル ( + ) ツールを使用します。

  • 最終的に、私たちが手にするのは、こんな感じです。

4.カンマで区切られた値を列や行に分割するExcel VBA

4.1. 値を列に分割するVBA

カンマで区切られたデータを複数のカラムに分割するには、単純な ブイビーエー のコードになります。

ステップス

  • まず、データを分割したいワークシートに移動します。 次に、シート名の上で右クリックし、[ ]をクリックします。 表示コード を表示させることができます。 ブイビーエー ウィンドウに表示されます。

  • 次に、以下のコードを モジュール 実行 を使用することで、コードの F5 キーになります。
 Sub SplitData() Dim Range() As String, Count As Long, x As Variant For r = 5 To 10 Range = Split(Cells(r, 2), ",") Count = 3 For Each x In Range Cells(r, Count) = x Count = Count + 1 Next x Next r End Sub 

こちら ' r はデータを含む行を表します。 一方、' Count=3 は列 C は、分割されたデータを表示する最初の列である。

  • コードを実行すると、カラムにカンマで区切られたデータ B は列に分割されます。 C , D そして E を以下のとおりとします。

4.2. 値を行に分割する

ここでは、エクセルVBAを使って、カンマで区切られた値を別の行に分割してみます。 以下の手順でタスクを実行します。

ステップス

  • まず、データのあるワークシートに移動し、右クリックで 表示コード .

  • その結果 ブイビーエー というウィンドウが表示されるので、以下のコードを モジュール を押して、コードを入力します。 F5 をキーボードで入力します。
 Sub SplitRows() Dim rng As Range Dim rng1 As Range Dim cell As Range Dim N As Long Dim address As String Dim update As Boolean Dim ret As Variant On Error Resume Next address = Application.ActiveWindow.RangeSelection.address Set rng = Application.InputBox("Please enter range", "Input Box", address, , , , 8 ) Set rng = Application.Intersect(rng, rng.Worksheet.UsedRange) If rng Is Nothing ThenExit Sub If rng.Columns.Count> 1 Then MsgBox "Cannot select more than one column" Exit Sub End If Set rng1 = Application.InputBox("Destination Cell", "Input Box", , , , 8) Set rng1 = rng1.Range("A1") If rng1 Is Nothing Then Exit Sub update = Application.ScreenUpdating Application.ScreenUpdating = False For Each cell In rng ret = Split(cell.Value, ",") rng1.Worksheet.Range(rng1.Offset(N,0), rng1.Offset(N + UBound(ret, 1), 0)) = Application.WorksheetFunction.Transpose(ret) N = N + UBound(ret, 1) + 1 Next Application.ScreenUpdating = update End Sub 

  • このコードを実行すると、以下の入力ボックスが表示されるので、以下のデータ範囲を入力して よっしゃー .

  • その結果、別の入力ボックスが表示されるので、そこに目的のセルを挿入して よっしゃー .

  • カンマで区切られたデータセットが行に分割され、以下のような出力が得られます。 8 まで 13 .

5.カンマで区切られた値を別の列に分割するには、Excelフラッシュフィルを使用します。

カンマで区切られたデータの一部を別のカラムに打ち込み、それを フラッシュフィル 機能で、同じパターンのデータの残りを取得することができます。

ステップス

  • タイプ ' 日付 'である。 セルC5 .後、''と入力し始めると R 'である。 セルC6 しかし、Excelは、私がすべての行から最初の位置にある果物が欲しいことを理解しています。

  • を押すだけです。 入力 この方法を応用して、カンマで区切られた値を複数の列に分割することができます。

結論

上記の記事では、私は精巧にExcelで行または列にカンマで区切られた値を分割するいくつかの方法を議論しようとしました。 うまくいけば、これらの方法と説明はあなたの問題を解決するのに十分です。 あなたが何かクエリを持っている場合は、私に知らせてください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。