メインコンテンツへスキップ

Excelで区切り文字で分割してセルを転置する方法は?

この記事では、以下のスクリーンショットに示すように、特定の区切り文字で範囲を分割し、Excelで転置する方法を紹介します。 このタスクに興味がある場合は、以下の詳細にアクセスしてください。
doc spliy 転置 1

VBAで分割して転置する

Kutools forExcelで分割および転置


矢印青い右バブル VBAで分割して転置する

特定の区切り文字でデータを分割して転置する直接的な方法はありませんが、この問題をすばやく解決するのに役立つVBAコードを紹介できます。

1。 押す Altキー+ F11 表示するキー アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール、以下のコードを新しいコードに貼り付けます モジュール 窓。

VBA:分割と転置

Sub Vertical()
'UpdatebyExtendoffice20161125
    Dim i As Long, strTxt As String
    Dim startP As Range
    Dim xRg As Range, yRg As Range
    On Error Resume Next
    Set xRg = Application.InputBox _
    (Prompt:="Range Selection...", _
    Title:="Kutools For Excel", Type:=8)
    i = 1
    Application.ScreenUpdating = False
    For Each yRg In xRg
        If i = 1 Then
            strTxt = yRg.Text
            i = 2
        Else
            strTxt = strTxt & "," & yRg.Text
        End If
    Next
    Application.ScreenUpdating = True
    Set startP = Application.InputBox _
    (Prompt:="paste range...", _
    Title:="Kutools For Excel", Type:=8)
    ary = Split(strTxt, ",")
    i = 1
    Application.ScreenUpdating = False
    For Each a In ary
        startP(i, 1).Value = a
        i = i + 1
    Next a
    Application.ScreenUpdating = True
End Sub

3。 押す F5 コードを実行するためのキーを押すと、分割および転置する範囲を選択するためのダイアログが表示されます。
doc spliy 転置 2

4。 クリック OK。 データを配置する場所を選択するためのダイアログが表示されます。
doc spliy 転置 3

5。 クリック OK、および選択範囲が分割され、コンマで置き換えられています。
doc spliy 転置 4

注: コードでは、カンマは strTxt& "、"ary = Split(strTxt、 "、") データを分割する区切り文字です。必要に応じて変更できます。


矢印青い右バブル Kutools forExcelで分割および転置

Kutools for Excel、あなたはそのを適用することができます 分割セル 最初に区切り文字でセルを分割し、次に 変換範囲 セルをXNUMXつの列に変換するユーティリティ。

Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 

インストールした後 Kutools for Excel、以下のようにしてください:(今すぐExcel用のKutoolsを無料でダウンロードしてください!)

1.分割するセルを選択し、をクリックします クツール > マージ&スプリット > 分割セル。 スクリーンショットを参照してください:
doc spliy 転置 5

2。 の中に 分割セル ダイアログ、チェック 列に分割 オプションをクリックし、分割する区切り文字を指定して、をクリックします。 Ok。 そして、空白のセルを選択して、結果をXNUMX番目に配置します 分割セル ダイアログ。 スクリーンショットを参照してください:
doc spliy 転置 6

3。 クリック OK、セルが列に分割されている場合は、 クツール > レンジ > 変換範囲。 スクリーンショットを参照してください:
doc spliy 転置 7

4。 の中に 変換範囲 ダイアログ、チェック 単一列までの範囲、クリック Ok、セルを選択して結果を配置します。 スクリーンショットを参照してください:
doc spliy 転置 8

5。 クリック OK、これで範囲がXNUMXつの列に置き換えられました。
doc spliy 転置 9

ヒント。 の無料トライアルをご希望の場合 分割セル > 変換範囲 機能、 無料でKutoolsforExcelをお試しください まず、上記の手順に従って操作を適用します。

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Is there a way to split data by row and transpose rows to column at the same time?
This comment was minimized by the moderator on the site
Hi, E, please describe your problem with more details, better provide some examples.
This comment was minimized by the moderator on the site
You wrote: Note: in the code, the comma in the aray = Split(strTxt, ",") is the delimiter you will split data based on, you can change it as you need.

Extra action:
also change delimter "," in code section:

<Else
strTxt = strTxt & "," & yRg.Text
End If>

Change "," to (for example ";")
This comment was minimized by the moderator on the site
Hi, Richard Hahlen, thanks for your remind. I have updated the notice.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations