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

列と行を単一の列に転置/変換する方法は?

著者:シャオヤン 最終更新日:2024年08月21日

Excelワークシートを使用すると、この問題が発生することがあります。ある範囲のデータをXNUMXつの列に変換または転置するにはどうすればよいでしょうか。 (次のスクリーンショットを参照してください:)ここで、この問題を解決するためのXNUMXつの簡単なトリックを紹介します。

元データ 右矢印 範囲を単一列に変換する

式を使用して、列と行をXNUMXつの列に転置/変換します

Kutools for Excelを使用して、列と行を単一の列に転置/変換します良いアイデア3

VBAコードを使用して列と行を単一の列に転置/変換します


式を使用して、列と行をXNUMXつの列に転置/変換します

次の長い数式は、データの範囲を列にすばやく転置するのに役立ちます。次のようにしてください。

1.まず、データ範囲の範囲名を定義し、変換する範囲データを選択し、右クリックして選択します 名前を定義する コンテキストメニューを形成します。 の中に 新しい名前 ダイアログボックスで、必要な範囲名を入力します。 次に、をクリックします OK。 スクリーンショットを参照してください:

データ範囲の範囲名を定義する

2.範囲名を指定した後、空白のセルをクリックします。この例では、セルE1をクリックして、次の数式を入力します。 =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1).

Note: MyData は選択したデータの範囲名です。必要に応じて変更できます。

3.次に、エラー情報が表示されるまで、数式をセルまでドラッグします。 範囲内のすべてのデータがXNUMXつの列に置き換えられました。 スクリーンショットを参照してください:

結果を得るための数式を入力する


Kutools for Excelを使用して、列と行を単一の列に転置/変換します

数式が長すぎて覚えられない可能性があり、VBAコードにはいくつかの制限があります。この状況では、心配しないでください。ここでは、より簡単で多機能なツールを紹介します-Kutools for Excelそのと Transform Range ユーティリティ、そしてあなたはこの問題を素早くそして便利に解決することができます。

Kutools for Excel 複雑なタスクを効率化し、創造性と効率性を高める 300 を超える高度な機能を提供します。 AI機能で強化Kutools はタスクを正確に自動化し、データ管理を容易にします。 Kutools for Excel の詳細情報...         無料トライアル...

無料インストール Kutools for Excel、以下のようにしてください:

1.移調する範囲を選択します。

2。 クリック クツール > Transform Range、スクリーンショットを参照してください:

kutoolsのTransform Range機能をクリック

3。 の中に Transform Range ダイアログボックスで Range to single column オプション、スクリーンショットを参照してください:

範囲を単一列オプションに選択

4。 次に、をクリックします OK、およびポップアウトボックスからの結果を配置するセルを指定します。

結果を入れるセルを指定する

5。 クリック OK、および複数の列と行のデータがXNUMXつの列に置き換えられました。
範囲データは1列に転置されました

列を固定行の範囲に変換する場合は、 Transform Range 迅速に処理する機能。
kutoolsを使用して1つの列を範囲に変換する


VBAコードを使用して列と行を単一の列に転置/変換します

次のVBAコードを使用して、複数の列と行をXNUMXつの列に結合することもできます。

1。 押さえつける Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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

Sub ConvertRangeToColumn()
'Updateby20131126
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

3。 押す F5 キーを押してコードを実行すると、変換する範囲を選択するためのダイアログが表示されます。 スクリーンショットを参照してください:

データ範囲を選択するための VBA コード

4。 次に、をクリックします Ok、および結果を出力する単一セルを選択するための別のダイアログが表示されます。スクリーンショットを参照してください。

結果を入力するセルを選択するための VBA コード

5.そしてクリックします Okすると、範囲内のセルの内容が列のリストに変換されます。スクリーンショットを参照してください。

結果を取得するためのVBAコード


関連記事:

Excelで行を列に変更するにはどうすればよいですか?

Excelで単一の列を複数の列に転置/変換する方法は?

列と行を単一の行に転置/変換する方法は?

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

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

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


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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!