Note: The other languages of the website are Google-translated. Back to English

Jak rychle skládat více sloupců do jednoho sloupce v aplikaci Excel?

v aplikaci Excel může funkce Text na sloupce rozdělit buňku na více sloupců na základě oddělovače, ale pokud existují způsoby, jak skládat více sloupců do jednoho sloupce, jak je ukázáno níže? V tomto článku představím některé triky, jak rychle vyřešit tento úkol.
sloupce zásobníku dokumentů do jedné 1

Skládejte více sloupců do jednoho pomocí vzorce

Skládejte více sloupců do jednoho pomocí VBA

Skládejte více sloupců do jednoho pomocí Rozsahu transformace dobrý nápad3


Skládejte více sloupců do jednoho pomocí vzorce

1. Vyberte rozsah, který chcete skládat, a přejděte na Název Box pojmenujte tento rozsah a stiskněte vstoupit klíč. Viz snímek obrazovky:
sloupce zásobníku dokumentů do jedné 2

2. Poté vyberte prázdnou buňku, do které chcete umístit výsledky, zadejte tento vzorec =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), lis EnteKlávesa r a táhněte úchyt výplně dolů, dokud se nezobrazí chyba. Viz screenshot:
sloupce zásobníku dokumentů do jedné 3

Ve vzorci je MyData název rozsahu, který jste zadali v kroku 1.

Skládejte více sloupců do jednoho pomocí VBA

Zde je kód VBA, který vám může také pomoci.

1. lis Alt + F11 tlačítka k zobrazení Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modul, vložte pod kód do Modul.

VBA: Skládání sloupců do jednoho

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

sloupce zásobníku dokumentů do jedné 4

3. lis F5 klíč ke spuštění kódu, objeví se dialogové okno pro výběr zdrojových dat a klikněte na OK, vyberte buňku k umístění výsledků. Viz screenshot:
sloupce zásobníku dokumentů do jedné 5

4. cvaknutí OK. Nyní byly sloupce naskládány do jednoho sloupce.
sloupce zásobníku dokumentů do jedné 6


Skládejte více sloupců do jednoho pomocí Rozsahu transformace

Aplikovat Kutools pro ExcelJe Rozsah transformace nástroj je také vám pomůže rychle vyřešit tento problém.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Vyberte data sloupců, která používáte, a klikněte na Kutools > Rozsah > Rozsah transformace. Viz snímek obrazovky:
sloupce zásobníku dokumentů do jedné 8

2. V Rozsah transformace dialog, zkontrolujte Rozsah do jednoho sloupce a klepněte na tlačítko Ok, pak vyberte buňku k umístění výsledků. Viz screenshot:
sloupce zásobníku dokumentů do jedné 9

3. cvaknutí OK. Nyní byly sloupce naskládány do jednoho sloupce.
sloupce zásobníku dokumentů do jedné 1


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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!
officetab dno
Komentáře (25)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
skládáte více řádků do jednoho sloupce, ne více sloupců... ne to, co jsem hledal.
Tento komentář byl moderátorem webu minimalizován
Chcete-li naskládat sloupce AP, které jsou v blocích po 6 řádcích, vložte tyto vzorce do buňky R1 a vyplňte je

=OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
Tento komentář byl moderátorem webu minimalizován
Funguje to perfektně, díky
Tento komentář byl moderátorem webu minimalizován
Děkujeme za zveřejnění tohoto řešení! V případě, že někdo potřebuje mezeru za/na konci každého bloku, stačí přidat další počet do řádků, takže podle výše uvedeného příkladu místo $A$6 napište $A$7. Do řádku vloží nulu „0“, ale můžete je snadno upravit „Použít výběr pro hledání“ v Sublime. Pokud znáte řešení, které nepřidává nulu, napište!?
Tento komentář byl moderátorem webu minimalizován
pro výstup prázdné buňky místo 0 proveďte funkci KDYŽ>0, TRUE-->vytiskněte původní obsah buňky, FALSE-->vypište ""

=if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
Tento komentář byl moderátorem webu minimalizován
Sakra, teď to nejde! Vyzkoušeno na nové kartě, ale nyní se vrací ke skládání obsahu sloupců do jednoho namísto původního obsahu řádků.
Tento komentář byl moderátorem webu minimalizován
Zruš ten poslední, vynechal jsi krok zkrácení.
Tento komentář byl moderátorem webu minimalizován
Vím, že jste na tuto otázku odpověděli opravdu dávno, ale můžete prosím vysvětlit, co přesně jednotlivé části této funkce dělají?
Tento komentář byl moderátorem webu minimalizován
Možná vám pomůže tento tutoriál. https://www.extendoffice.com/documents/excel/3327-excel-convert-multiple-rows-to-columns.html
Tento komentář byl moderátorem webu minimalizován
toto je jen klikací návnada, abyste si stáhli platící software
Tento komentář byl moderátorem webu minimalizován
První stažení bude zdarma k použití za 60 dní, poté se můžete rozhodnout, zda za použití zaplatíte nebo ne.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, existuje nějaký převod výše uvedených dat do následujícího formuláře?
1
A
Lilly
2
B
Jitka
...
Tento komentář byl moderátorem webu minimalizován
Děkujeme za vaši zanechanou zprávu, tento návod https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
mluví o tom, jak tento problém vyřešit, můžete přejít k zobrazení.
Tento komentář byl moderátorem webu minimalizován
Mám data, která končí na stejném řádku, ale ve více sloupcích, ve kterých chci, aby byly naskládány v pořadí, kde data sloupce B půjdou pod data sloupce A, kde data končí pro sloupec A a data sloupce C, aby šla pod data sloupce A kde končí data ze sloupce B a tak dále. Takto budu mít data z více sloupců, aby se vešla do jednoho sloupce. Jak to mohu udělat?
Tento komentář byl moderátorem webu minimalizován
Ahoj, existuje způsob, jak dosáhnout toho, aby vzorec ignoroval všechny prázdné buňky, které mohou obsahovat vaše data?


=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


K vytvoření souvislého seznamu pro rozbalovací seznam ověření dat používám pomocný list. Díky předem.
Tento komentář byl moderátorem webu minimalizován
Omlouvám se, nejsem dobrý ve vzorcích, možná můžete zkusit použít nástroj Kutools pro Excel pro výběr neprázdných buněk, abyste nejprve vybrali prázdné buňky, zkopírovali je a vložili je na jiné místo a poté použili výše uvedené metody.
Tento komentář byl moderátorem webu minimalizován
Ahoj, chci v tomhle jít ještě o krok dál. Použil jsem Stack Multiple Columns Into One with VBA, code a to funguje. Použil jsem tabulky jako zdroj s tímto kódem a dostávám seznam. Existuje způsob, jak automatizovat spuštění makra? Aby se při přidání nového záznamu do tabulky makro automaticky spustilo a udrželo výsledný seznam aktuální?
Tento komentář byl moderátorem webu minimalizován
Ahoj, Chrisi Blackburne, obávám se, že nemohu najít kód, který by se mohl automaticky spustit pro aktualizaci výsledku, možná někdo jiný.
Tento komentář byl moderátorem webu minimalizován
Snažím se to udělat přes velmi velkou tabulku (100 sloupců a řádků, které jsou všechny propojeny se vzorci. Můj excel se bude načítat a nakonec přejde do stavu neodpovídá. Existuje způsob, jak to překonat? Díky
Tento komentář byl moderátorem webu minimalizován
Ahoj, Tome, která metoda, kterou používáš, nefunguje? Metoda tři, nástroj transformace rozsahu, musí fungovat.
Tento komentář byl moderátorem webu minimalizován
Používám metodu Stack Multiple Columns Into One With Formula a fungovala perfektně, ale chci, aby zachovala formátování, tj. některé sloupce byly tučné a 1 byly hypertextové odkazy. Existuje něco, co lze do vzorce přidat, aby se to stalo?
Tento komentář byl moderátorem webu minimalizován
Ahoj, Susan Milardová, jejich vzorec může vyhovět vašim potřebám, můžete použít VBA nebo nástroj Transpose Range,obě mohou uspokojit.
Tento komentář byl moderátorem webu minimalizován
Děkuji mnohokrát, možnost vzorce fungovala velmi dobře. ušetřili jste mi spoustu času.
Tento komentář byl moderátorem webu minimalizován
Děkuji za vzorec a VBA, ale ani jeden nedělá to, co říká název příspěvku. Čekal jsem, že naskládají sloupce, ale místo toho transponují každý řádek do sloupce a skládají je... takže skládají transponované řádky, ne sloupce. Stále velmi užitečné pro některé případy, ale ví někdo, jak upravit vzorec a / nebo VBA, aby skutečně naskládal sloupce? Předpokládám, že bych mohl transponovat celý vstupní rozsah a pak použít tyto...
Tento komentář byl moderátorem webu minimalizován
Pro ty, kteří chtějí skládat sloupce do jednoho, ale ne řádky do jednoho, musíte mít jasnou představu o tom, co opravdu chcete dělat. Předpokládejme, že máte nějaké pole 3x3, chcete, aby vaše funkce index() získávala položky ve tvaru (řádek, sloupec) pro (1,1), (2,1), (3,1), pak (1,2), (2,2), (3,2) a tak dále. Takže co chcete udělat znamená mít index() odkazovat na jeden sloupec obsahující všechna čísla řádků (1;2;3;1;2;3;1;2;3) a jeden sloupec obsahující všechna čísla sloupců (1;1 ;1;2;2;2;3;3;3). Chcete-li získat (1;2;3;1;2;3;1;2;3), běžným programovacím přístupem je použít 1+mod(some_counter -1,3), kde funkce mod() udává rezidua 0,1,2,0,1,2,...
Chcete-li získat (1;1;1;2;2;2;3;3;3), použijte 1+int((nějaké_počítadlo-1)/3), kde dostanete 1+0, 1+0, 1+0 , 1+1, 1+1, 1+1, 1+2, 1+2, 1+2
Proto, abyste získali pole 3x3 naskládané do jednoho, použijte vzorec (stiskněte Ctrl + Shft + Enter):=index( $A$1:$C$3, 1+mod(row(A1)-1,3), 1 +int((řádek(A1)-1)/3))),kde řádek(A1) slouží jako počítadlo při vyplňování vzorce směrem dolů
Pokud to dáte opačně (řádek do sloupců, sloupec do řádku), dostanete řádky naskládané do jednoho sloupce=INDEX( $A$1:$C$3, 1+INT((ŘÁDEK(A1)-1)/ 3),1+MOD(ŘÁDEK(A1)-1,3)), což je v podstatě to, co dělá vzorec v tomto článku

Stručně řečeno, vzorec používaný ke skládání sloupců v poli do jednoho sloupce by byl:=index( your_array_cells , 1+mod(row(A1)-1, number_of_rows_of_your_array ), 1+int((row(A1)-1) )/ počet_sloupců_vašeho_pole)))
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL