列と行を単一の行に転置/変換する方法は?
複数の行と列をXNUMXつの長い行に結合する方法は? たぶん、それらをXNUMXつずつコピーして、手動で行に結合できるので、簡単に思えます。 ただし、行と列が数百ある場合は、時間と手間がかかります。 ここでは、それを解決するためのいくつかの簡単なトリックについて説明します。
Kutools for Excelを使用して、列と行を単一行に転置/変換します
数式を使用して列と行を単一の行に転置/変換します
次のスクリーンショットに示すようにデータの範囲があるとすると、長い式を使用して、範囲データを新しいワークシートのXNUMXつの行に変換できます。
次のように式を適用してください。
1.アクティブなブックの新しいワークシートで、セルA1をクリックし、次の数式をコピーして貼り付けます。 =OFFSET(Sheet1!$A$1,((ROW()-1)*5)+(FLOOR(COLUMN()-1,4)/4),(COLUMN()-1)-(FLOOR(COLUMN()-1,4)))
Note: Sheet1!$ A $ 1 使用するワークシートと範囲参照です。
ROW()-1)* 5 上記の式では、 5 行番号を表します。 そして COLUMN()-1,4)/ 4 4 列番号を表します。 必要に応じて変更できます。
2.次に、番号0が表示されるまで、フィルハンドルを右にドラッグします。 この場合、範囲内のすべてのデータが新しいワークシートのXNUMXつの行に置き換えられています。 スクリーンショットを参照してください:
VBAコードを使用して列と行を単一の行に転置/変換します
次のVBAコードは、データの範囲をXNUMX行に変換するのにも役立ちます。
1。 押さえつける Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2。 クリック インセット > モジュール、次のコードをに貼り付けます モジュール 窓。
Sub TransformOneRow()
'Updateby20131120
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Ranges to be transform :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Paste to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
xRows = InputRng.Rows.Count
xCols = InputRng.Columns.Count
For i = 1 To xRows
InputRng.Rows(i).Copy OutRng
Set OutRng = OutRng.Offset(0, xCols + 0)
Next
Application.ScreenUpdating = True
End Sub
3.次にを押します F5 コードを実行するためのキーを押すと、行に変換するコンテンツの範囲を選択するためのダイアログがポップアップ表示され、クリックします Ok、別のポップアップダイアログでは、単一のセルを選択して結果を出力できます。 スクリーンショットを参照してください:
次にクリック Ok、選択した範囲の内容が行に変換されます。 スクリーンショットを参照してください:
Note:で OutRng = OutRng.Offset(0、xCols + 0)を設定します、あなたが変更することができます 0 あなたの必要を満たすために任意の数に。
たとえば、元の行に基づく結果をXNUMX列で区切る場合は、変更できます。 OutRng = OutRng.Offset(0、xCols + 0)を設定します 〜へ OutRng = OutRng.Offset(0、xCols + 1)を設定します、結果は次のように表示されます。
Kutools for Excelを使用して、列と行を単一行に転置/変換します
上記のXNUMXつの方法は、Excelの初心者にとってはやや難しいようです。ここでは、便利なツールであるKutools forExcelについて説明します。
Kutools for Excel 300以上の便利なExcelツールが含まれています。 30日以内に制限なしで無料でお試しいただけます。 今すぐ入手
ユーティリティ付き 変換範囲 of Kutools for Excel、範囲をXNUMXつの行にすばやく変換できます。次のようにしてください。
1.移調する範囲を選択します。
2。 クリック クツール > レンジコンバーター > 変換範囲、スクリーンショットを参照してください:
3。 の中に 変換範囲 ダイアログボックスで 単一行までの範囲 オプション、スクリーンショットを参照してください:
4。 次に、をクリックします OK、セルをクリックして、ポップアウトボックスの結果を入力します。
5。 クリック OK、および範囲内のデータは単一の行に置き換えられています。 スクリーンショットを参照してください:
この機能について詳しく知りたい場合は、次のWebサイトにアクセスしてください。 変換範囲.
関連記事:
最高のオフィス生産性向上ツール
🤖 | 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!