Hoppa till huvudinnehåll

Hur konverterar man matris till vektor eller en enda kolumn i Excel?

Har du någonsin försökt konvertera en cellmatris till en enda rad eller kolumn i Excel? Du kanske kan kopiera en rad eller en kolumn och klistra in dem en efter en till en enda vektor, men det kommer att vara tidskrävande om det finns flera rader och kolumner. I den här artikeln kommer jag att prata om några intressanta metoder och hoppas att de hjälper dig.

Konvertera en matris av celler till en rad eller kolumn med formler

Konvertera en matris av celler till en rad eller kolumn med Kutools för Excel


Följande formler kan hjälpa dig att snabbt konvertera matrisen till en rad eller kolumn. Gör så här:

Konvertera en matris av celler till en enda kolumn

1. Först och främst bör du definiera ett intervallnamn för matrisdata. Välj cellområdet och skriv ett intervallnamn i Namnsruta bredvid formelfältet och tryck sedan på ange nyckel. I det här fallet skriver jag ”Matrix” som det definierade namnet, se skärmdump:

doc konvertera matris till kolumn 1

2. Ange sedan följande formler:

(1.) Konvertera matrisen till enstaka kolumn baserat på rad, det betyder att värdena tas från varje rad och rör sig över sedan neråt: = OFFSET (Matrix, TRUNC ((ROW () - ROW ($ G $ 1)) / COLUMNS (Matrix)), MOD (ROW () - ROW ($ G $ 1), COLUMNS (Matrix)), 1,1)(Matris är intervallnamnet som du definierade i steg 1 och G1 är den cell du anger denna formel). Dra sedan fyllningshandtaget till cellerna tills 0 visas, se skärmdump:

doc konvertera matris till kolumn 2

(2.) Konvertera matrisen till en kolumn baserat på kolumn, det betyder att värdena tas från kolumner, flyttar ner en kolumn och sedan över till höger kolumn: = OFFSET (Matrix, MOD (ROW () - ROW ($ G $ 1), ROWS (Matrix)), TRUNC ((ROW () - ROW ($ G $ 1)) / ROWS (Matrix)), 1,1) (Matris är intervallnamnet som du definierade i steg 1 och G1 är den cell du anger denna formel). Dra sedan fyllningshandtaget till cellerna tills 0 visas, se skärmdump:

doc konvertera matris till kolumn 3

Konvertera en matris av celler till en enda rad

För att konvertera en matris av celler till en enda rad kan du använda följande formler:

(1.) Konvertera matrisen till en rad baserat på rad, det betyder att värdena tas från varje rad från vänster till höger på en rad och sedan flyttar ner till nästa rad: = OFFSET (Matris, TRUNC ((KOLONN () - KOLONN ($ A $ 7)) / KOLONN (Matris)), MOD ((KOLONN () - KOLONN ($ A $ 7)), KOLONN (Matris)), 1,1 ) (Matris är det intervallnamn du skapade för ditt dataintervall och A7 är den cell du anger denna formel). Dra sedan påfyllningshandtaget åt höger till cellerna tills 0 visas, se skärmdump:

doc konvertera matris till kolumn 4

(2.) Konvertera matrisen till en rad baserat på kolumn, det betyder att värdena tas från varje kolumn, flyttar ner en kolumn och sedan över till höger kolumn: = OFFSET (Matrix, MOD ((COLUMN () - COLUMN ($ A $ 7)), ROWS (Matrix)), TRUNC ((COLUMN () - COLUMN ($ A $ 7)) / (ROWS (Matrix))), 1,1 , XNUMX) (Matris är det intervallnamn du skapade för ditt dataintervall och A7 är den cell du anger denna formel). Dra sedan påfyllningshandtaget åt höger till cellerna tills 0 visas, se skärmdump:

doc konvertera matris till kolumn 5


Om ovanstående formler är för långa att komma ihåg, här kan jag rekommendera ett enkelt och kraftfullt verktyg - Kutools för Excel, med dess Transformera intervall verktyget kan du snabbt konvertera flera kolumner och rader till en enda kolumn eller rad efter behov.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

När du har installerat Kutools för Excelgör så här:

1. Välj den matris av celler som du vill konvertera.

2. Klicka sedan Kutools > Mätområde > Transformera intervall, se skärmdump:

3. I Transformera intervall dialogrutan, välj Område till enstaka kolumn om du vill konvertera matrisen till en enda kolumn eller välja Räckvidd till enstaka rad om du vill konvertera matris till en rad, se skärmdump:

doc konvertera matris till kolumn 07

4. Klicka sedan OK -knappen och dök ut Transformera intervall välj en cell där du vill placera resultatet, se skärmdump:

doc konvertera matris till kolumn 08

5. Och klicka sedan på OK -knappen har din valda matris av celler konverterats till en rad eller kolumn.

För att veta mer om detta Transform Range-verktyg.

 Ladda ner och testa gratis Kutools för Excel nu!


Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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