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

Excelで行列をベクトルまたは単一列に変換する方法は?

Excelでセルの行列を単一の行または列に変換しようとしたことがありますか? 行または列をコピーしてXNUMXつずつXNUMXつのベクトルに貼り付けることもできますが、複数の行と列がある場合は時間がかかります。 この記事では、いくつかの興味深い方法について説明し、それらがお役に立てば幸いです。

セルの行列を数式を使用して単一の行または列に変換します

Kutools for Excelを使用して、セルの行列を単一の行または列に変換します


次の数式は、行列をXNUMXつの行または列にすばやく変換するのに役立ちます。 次のようにしてください。

セルの行列を単一の列に変換します

1。 まず、マトリックスデータの範囲名を定義する必要があります。 セルの範囲を選択し、範囲名を 名前ボックス 数式バーの横にあるを押してから 入力します キー。 この場合、定義された名前として「Matrix」と入力します。スクリーンショットを参照してください。

docは行列を列1に変換します

2。 次に、次の数式を入力します。

(1.)行列を行に基づいて単一の列に変換します。これは、値が各行から取得され、横切って下に移動することを意味します。 = OFFSET(Matrix、TRUNC((ROW()-ROW($ G $ 1))/ COLUMNS(Matrix))、MOD(ROW()-ROW($ G $ 1)、COLUMNS(Matrix))、1,1)(マトリックス 手順1で定義した範囲名であり、 G1 この数式を入力するセルです)。 次に、0が表示されるまで塗りつぶしハンドルをセルにドラッグします。スクリーンショットを参照してください。

docは行列を列2に変換します

(2.)行列を列に基づいて単一の列に変換します。これは、値が列から取得され、XNUMX列下に移動してから、右の列に移動することを意味します。 = OFFSET(Matrix、MOD(ROW()-ROW($ G $ 1)、ROWS(Matrix))、TRUNC((ROW()-ROW($ G $ 1))/ ROWS(Matrix))、1,1) (マトリックス 手順1で定義した範囲名であり、 G1 この数式を入力するセルです)。 次に、0が表示されるまで塗りつぶしハンドルをセルにドラッグします。スクリーンショットを参照してください。

docは行列を列3に変換します

セルの行列を単一の行に変換します

セルの行列を単一の行に変換するには、次の数式を使用できます。

(1.)行列を行に基づいて単一の行に変換します。これは、値が各行からXNUMXつの行の左から右に取得され、次の行に移動することを意味します。 = OFFSET(Matrix、TRUNC((COLUMN()-COLUMN($ A $ 7))/ COLUMNS(Matrix))、MOD((COLUMN()-COLUMN($ A $ 7))、COLUMNS(Matrix))、1,1 ) (マトリックス データ範囲用に作成した範囲名であり、 A7 この数式を入力するセルです)。 次に、0が表示されるまで、塗りつぶしハンドルをセルに右にドラッグします。スクリーンショットを参照してください。

docは行列を列4に変換します

(2.)行列を列に基づいて単一の行に変換します。これは、値が各列から取得され、XNUMX列下に移動してから、右の列に移動することを意味します。 = OFFSET(Matrix、MOD((COLUMN()-COLUMN($ A $ 7))、ROWS(Matrix))、TRUNC((COLUMN()-COLUMN($ A $ 7))/(ROWS(Matrix)))、1,1 、XNUMX) (マトリックス データ範囲用に作成した範囲名であり、 A7 この数式を入力するセルです)。 次に、0が表示されるまで、塗りつぶしハンドルをセルに右にドラッグします。スクリーンショットを参照してください。

docは行列を列5に変換します


上記の式が長すぎて覚えられない場合は、ここで、簡単で強力なツールをお勧めします– Kutools for Excelそのと 変換範囲 ユーティリティを使用すると、必要に応じて、複数の列と行を単一の列または行にすばやく変換できます。

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

インストールした後 Kutools for Excel、次の手順に従ってください。

1。 変換するセルの行列を選択します。

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

3。 の中に 変換範囲 ダイアログ、選択 単一列までの範囲 マトリックスを単一の列に変換する場合、またはを選択する場合 単一行までの範囲 行列を単一の行に変換する場合は、スクリーンショットを参照してください。

docは行列を列07に変換します

4。 次に、をクリックします OK ボタン、そして飛び出した 変換範囲 ボックスで、結果を配置するセルを選択します。スクリーンショットを参照してください。

docは行列を列08に変換します

5。 そして、 OK ボタンをクリックすると、選択したセルのマトリックスが単一の行または列に変換されます。

このTransformRangeユーティリティの詳細を知るため。

 今すぐExcel用のKutoolsをダウンロードして無料トライアル!


Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

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

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の 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 (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks much! Stacking a 2D matrix of data as a 1D column -> That was cool! Solved my problem precisely. Though I had to tweak the formula to get it right (I think the row and col are interchanged)... But the inspiration was from this article. Simply superb! Thanks!
This comment was minimized by the moderator on the site
Fantastic explanation - thank you. This helped me save hours of time
This comment was minimized by the moderator on the site
I'd like to accomplish this same task but with a range that is not so neatly defined. I've got wholes in the data and my matrix is spaced out over my spreadsheet rather than in a neatly define A1:D4 style block. Any ideas on how I can accomplish this?
This comment was minimized by the moderator on the site
Hi, Kevin:

The following VBA code can help you to combine the cells from a range:

Sub a()
Dim xSRg As Range
Dim xDRg As Range
Dim I As Long
Dim J As Long
Dim K As Long
Dim xArr
On Error Resume Next
Set xSRg = Application.InputBox("Please select the data range:", "KuTools for Excel", Selection.Address, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Select an output cell:)", "KuTools for Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
xArr = xSRg
K = 0
For I = 1 To UBound(xArr, 1)
For J = 1 To UBound(xArr, 2)
If xArr(I, J) <> "" Then
xDRg.Offset(K, 0).Value = xArr(I, J)
K = K + 1
End If
Next
Next
End Sub

Please try it, Hope it can help you!
This comment was minimized by the moderator on the site
Thank you!!!!
This comment was minimized by the moderator on the site
I had the same issue, put a filter on that column, and anything that has 0, filter out.
This comment was minimized by the moderator on the site
This is so useful! The formula to convert a matrix to single column based on column was exactly what I needed. Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations