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

ExcelでXNUMX行おきに列を分割するにはどうすればよいですか?

docは1行おきに分割しますXNUMX

たとえば、データの長いリストがありますが、次のスクリーンショットに示すように、列をXNUMX行おきに均等にXNUMXつのリストに分割したいと思います。 Excelでこのタスクを処理するための良い方法はありますか?

数式を使用してXNUMX行おきに列を分割する

VBAコードでXNUMX行おきに列を分割する

Kutools forExcelを使用してXNUMX行おきに列を分割する


矢印青い右バブル 数式を使用してXNUMX行おきに列を分割する

次の数式は、XNUMX行おきにXNUMX列をXNUMX列にすばやく分割するのに役立つ場合があります。次のようにしてください。

1。 この数式を空白のセル、たとえばC2に入力します。 =INDEX($A$2:$A$13,ROWS(C$1:C1)*2-1)、スクリーンショットを参照してください:

docは2行おきに分割しますXNUMX

2。 次に、セルにエラーが表示されるまでフィルハンドルを下にドラッグします。スクリーンショットを参照してください。

docは3行おきに分割しますXNUMX

3。 次に、セルD2に別の数式を入力します。 =INDEX($A$2:$A$13,ROWS(D$1:D1)*2)、エラー値が表示され、列の値がXNUMX行おきにXNUMXつの列に分割されるまで、塗りつぶしハンドルをセルまでドラッグします。スクリーンショットを参照してください。

docは4行おきに分割しますXNUMX


矢印青い右バブル VBAコードでXNUMX行おきに列を分割する

VBAコードに興味がある場合は、ここで、この問題を解決するためのコードについて説明します。

1。 を押し続けます Alt + F11 Excelでキーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:XNUMX列をXNUMX行おきにXNUMX列に分割します

Sub SplitEveryOther()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim index As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
num1 = 1
num2 = 1
For index = 1 To InputRng.Rows.Count
    If index Mod 2 = 1 Then
        OutRng.Cells(num1, 1).Value = InputRng.Cells(index, 1)
        num1 = num1 + 1
    Else
        OutRng.Cells(num2, 2).Value = InputRng.Cells(index, 1)
        num2 = num2 + 1
    End If
Next
End Sub	

3。 次に、 F5 このコードを実行するためのキーを押すと、分割するデータ範囲を選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

docは5行おきに分割しますXNUMX

4。 をクリックします OK、別のプロンプトボックスが表示され、結果を配置するセルを選択できます。スクリーンショットを参照してください。

docは6行おきに分割しますXNUMX

5。 次に、をクリックします OK、および列はXNUMX行おきにXNUMXつの列に分割されています。 スクリーンショットを参照してください:

docは7行おきに分割しますXNUMX


矢印青い右バブル Kutools forExcelを使用してXNUMX行おきに列を分割する

もっと新しいことを学びたいのなら、私は強力なツールをお勧めします-Kutools for Excelそのと 変換範囲 ユーティリティを使用すると、単一の行または列をセルの範囲に、またはその逆にすばやく変換できます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます

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

1。 XNUMX行おきにXNUMX列に分割する列データを選択します。

2。 次に、をクリックします クツール > レンジ > 変換範囲、スクリーンショットを参照してください:

3。 の中に 変換範囲 ダイアログボックスで 範囲に単一の列変換タイプ、を選択します 固定値 入力してください 2 のボックスに レコードあたりの行数 セクション、スクリーンショットを参照してください:

docは9行おきに分割しますXNUMX

4。 次に、をクリックします Ok ボタンをクリックすると、結果を出力するセルを選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

docは10行おきに分割しますXNUMX

5に設定します。 OK をクリックします。 OK、リストデータはXNUMX行おきにXNUMX列に分割されています。

この変換範囲ユーティリティの詳細については、クリックしてください。

今すぐExcel用Kutoolsを無料でダウンロード

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

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の 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 (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to do the opposite of this? Get two column info in one row ?
This comment was minimized by the moderator on the site
Hi, Jas,
To do the opposite of this, to convert two columns data into one single column, you should apply the below VBA code:

Sub ConvertRangeToColumn()
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
As a workaround, you can do the following: Using the above example, 1. Type "=a2" in c2 and "=a3" in d3. 2. Now select c2 through d3. 3. Drag the fill handle parallel to all the data. 4. Now delete cell a2 and shift cells up. 5. Now we need to convert the formula results to the calculated values. That's easily done by copying all the data including the blank rows and pasting the values right on top of itself. 6. Now you can simply sort any of the column alphabetically to bring all the data up.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations