Přejít k hlavnímu obsahu

Jak převést matici na vektor nebo jeden sloupec v aplikaci Excel?

Zkusili jste někdy převést matici buněk na jeden řádek nebo sloupec v aplikaci Excel? Možná můžete zkopírovat řádek nebo sloupec a vložit je jeden po druhém do jednoho vektoru, ale bude to časově náročné, pokud existuje více řádků a sloupců. V tomto článku budu hovořit o několika zajímavých metodách a doufám, že vám pomohou.

Převeďte matici buněk na jeden řádek nebo sloupec pomocí vzorců

Převeďte matici buněk na jeden řádek nebo sloupec pomocí programu Kutools pro Excel


Následující vzorce vám mohou pomoci rychle převést matici na jeden řádek nebo sloupec. Postupujte prosím následovně:

Převést matici buněk na jeden sloupec

1. Nejprve byste měli definovat název rozsahu pro data matice. Vyberte rozsah buněk a do pole zadejte název rozsahu Pole pro jméno který je vedle řádku vzorců, a stiskněte vstoupit klíč. V tomto případě zadám jako definovaný název „Matrix“, viz screenshot:

doc převést matici do sloupce 1

2. Poté zadejte následující vzorce:

(1.) Převést matici na jeden sloupec na základě řádku, to znamená, že hodnoty jsou převzaty z každého řádku, pohybující se napříč a dolů: = OFFSET (Matrix, TRUNC ((ROW () - ROW ($ G $ 1)) / COLUMNS (Matrix)), MOD (ROW () - ROW ($ G $ 1), COLUMNS (Matrix)), 1,1)(Matice je název rozsahu definovaný v kroku 1 a G1 je buňka, do které zadáte tento vzorec). Poté přetáhněte rukojeť výplně do buněk, dokud se nezobrazí 0, viz screenshot:

doc převést matici do sloupce 2

(2.) Převést matici na jeden sloupec na základě sloupce, to znamená, že hodnoty jsou převzaty ze sloupců, pohybující se dolů o jeden sloupec a potom napříč do pravého sloupce: = OFFSET (Matrix, MOD (ROW () - ROW ($ G $ 1), ROWS (Matrix)), TRUNC ((ROW () - ROW ($ G $ 1)) / ROWS (Matrix)), 1,1) (Matice je název rozsahu definovaný v kroku 1 a G1 je buňka, do které zadáte tento vzorec). Poté přetáhněte rukojeť výplně do buněk, dokud se nezobrazí 0, viz screenshot:

doc převést matici do sloupce 3

Převést matici buněk na jeden řádek

Chcete-li převést matici buněk na jeden řádek, můžete použít následující vzorce:

(1.) Převést matici na jeden řádek na základě řádku, to znamená, že hodnoty jsou převzaty z každého řádku zleva doprava na jednom řádku a poté přesunuty dolů na další řádek: = OFFSET (Matrix, TRUNC ((COLUMN () - COLUMN ($ A $ 7)) / COLUMNS (Matrix)), MOD ((COLUMN () - COLUMN ($ A $ 7)), COLUMNS (Matrix)), 1,1 ) (Matice je název rozsahu, který jste vytvořili pro svůj rozsah dat, a A7 je buňka, do které zadáte tento vzorec). Poté přetáhněte rukojeť výplně doprava do buněk, dokud se nezobrazí 0, viz screenshot:

doc převést matici do sloupce 4

(2.) Převést matici na jeden řádek na základě sloupce, to znamená, že hodnoty jsou převzaty z každého sloupce, pohybující se dolů o jeden sloupec a potom napříč do pravého sloupce: = OFFSET (Matrix, MOD ((COLUMN () - COLUMN ($ A $ 7)), ROWS (Matrix)), TRUNC ((COLUMN () - COLUMN ($ A $ 7)) / (ROWS (Matrix))), 1,1 , XNUMX) (Matice je název rozsahu, který jste vytvořili pro svůj rozsah dat, a A7 je buňka, do které zadáte tento vzorec). Poté přetáhněte rukojeť výplně doprava do buněk, dokud se nezobrazí 0, viz screenshot:

doc převést matici do sloupce 5


Pokud jsou výše uvedené vzorce příliš dlouhé na zapamatování, mohu zde doporučit snadný a účinný nástroj - Kutools pro Excel, S jeho Rozsah transformace nástroj, můžete rychle převést více sloupců a řádků do jednoho sloupce nebo řádku podle potřeby.

Kutools pro Excel : s více než 300 praktickými doplňky Excel, můžete si je vyzkoušet bez omezení do 30 dnů.

Po instalaci Kutools pro Excel, proveďte následující kroky:

1. Vyberte matici buněk, které chcete převést.

2. Pak klikněte na tlačítko Kutools > Rozsah > Rozsah transformace, viz screenshot:

3. V Rozsah transformace , vyberte Rozsah do jednoho sloupce pokud chcete převést matici na jeden sloupec, nebo zvolte Rozsah do jednoho řádku pokud chcete převést matici na jeden řádek, viz screenshot:

doc převést matici do sloupce 07

4. Pak klikněte na tlačítko OK tlačítko a ve vyskakovacím okně Rozsah transformace v poli vyberte buňku, kam chcete umístit výsledek, viz screenshot:

doc převést matici do sloupce 08

5. A pak klikněte na tlačítko OK tlačítko, vaše vybraná matice buněk byla převedena na jeden řádek nebo sloupec.

Další informace o tomto nástroji Transform Range.

 Stáhněte si zdarma zkušební verzi Kutools pro Excel!


Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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