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

Hoe snel meerdere kolommen in één kolom in Excel stapelen?

in Excel kan de functie Tekst naar kolommen een cel opsplitsen in meerdere kolommen op basis van een scheidingsteken, maar als er manieren zijn om meerdere kolommen in één kolom te stapelen, zoals onderstaand screenshot? In dit artikel zal ik enkele trucs introduceren om deze taak snel op te lossen.
doc stack kolommen naar één 1

Stapel meerdere kolommen in één met formule

Stapel meerdere kolommen in één met VBA

Stapel meerdere kolommen in één met Transform Range goed idee 3


Stapel meerdere kolommen in één met formule

1. Selecteer het bereik dat u wilt stapelen en ga naar het Naam Box om dit bereik een naam te geven, en druk op Enter sleutel. Zie screenshot:
doc stack kolommen naar één 2

2. Selecteer vervolgens een lege cel waarin u de resultaten wilt plaatsen, voer deze formule in =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), druk op enter-toets en sleep de vulgreep naar beneden totdat een fout wordt weergegeven. Zie screenshot:
doc stack kolommen naar één 3

In de formule is MyData de bereiknaam die u in stap 1 hebt opgegeven.

Stapel meerdere kolommen in één met VBA

Hier is een VBA-code die u ook kan helpen.

1. druk op Alt + F11 toetsen om weer te geven Microsoft Visual Basic voor toepassingen venster.

2. klikken Invoegen > Module, plak onderstaande code in het Module.

VBA: stapel kolommen op één

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

doc stack kolommen naar één 4

3. druk op F5 toets om de code uit te voeren, een dialoogvenster verschijnt om de brongegevens te selecteren en klik op OK, om een ​​cel te selecteren om de resultaten te plaatsen. Zie screenshot:
doc stack kolommen naar één 5

4. klikken OK. Nu zijn de kolommen in één kolom gestapeld.
doc stack kolommen naar één 6


Stapel meerdere kolommen in één met Transform Range

Toepassen Kutools for Excel's Transformeer bereik hulpprogramma kan u ook helpen dit probleem snel op te lossen.

Kutools for Excel, met meer dan 300 handige functies, maakt uw werk eenvoudiger. 

Na gratis installeren Kutools voor Excel, doe het als volgt:

1. Selecteer de kolomgegevens die u gebruikt en klik op Kutools > Bereik > Transformeer bereik. Zie screenshot:
doc stack kolommen naar één 8

2. In de Transformeer bereik dialoogvenster, vink aan Bereik tot enkele kolom optie en klik op Oken selecteer vervolgens een cel om resultaten te plaatsen. Zie screenshot:
doc stack kolommen naar één 9

3. klikken OK. Nu zijn de kolommen in één enkele kolom gestapeld.
doc stack kolommen naar één 1


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (25)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
je stapelt meerdere rijen in één kolom, niet meerdere kolommen... niet wat ik zocht.
Deze opmerking is gemaakt door de moderator op de site
Om kolommen AP te stapelen die zich in blokken van 6 rijen bevinden, plaatst u deze formules in cel R1 en vult u deze in

=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)
Deze opmerking is gemaakt door de moderator op de site
Dit werkt perfect, bedankt
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor het plaatsen van deze oplossing! Als iemand een spatie nodig heeft na/aan het einde van elk blok, voeg dan gewoon een extra telling toe aan de rijen, dus volgens het bovenstaande voorbeeld, in plaats van $ A $ 6, schrijf $ A $ 7. Het voert een nul '0' in de rij in, maar je kunt eenvoudig 'Selectie gebruiken voor zoeken' in Sublime om ze te bewerken. Als je de oplossing weet die geen nul toevoegt, post dan alsjeblieft!?
Deze opmerking is gemaakt door de moderator op de site
om een ​​lege cel uit te voeren in plaats van 0, doe een ALS-functie>0, TRUE-->voer de originele celinhoud uit, FALSE-->uitvoer ""

=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),"")
Deze opmerking is gemaakt door de moderator op de site
Verdomme, nu werkt het niet! Geprobeerd op een nieuw tabblad, maar het is nu terug naar het stapelen van kolominhoud in één in plaats van oorspronkelijke rij-inhoud.
Deze opmerking is gemaakt door de moderator op de site
Annuleer die laatste, miste de afkapstap.
Deze opmerking is gemaakt door de moderator op de site
Ik weet dat je deze vraag heel lang geleden hebt beantwoord, maar kun je alsjeblieft uitleggen wat elk onderdeel van deze functie precies doet?
Deze opmerking is gemaakt door de moderator op de site
Misschien kan deze tutorial je helpen.https://www.extendoffice.com/documents/excel/3327-excel-convert-meerdere-rijen-naar-kolommen.html
Deze opmerking is gemaakt door de moderator op de site
dit is gewoon een clickbait om je betalende software te laten downloaden
Deze opmerking is gemaakt door de moderator op de site
De eerste download is binnen 60 dagen gratis te gebruiken, daarna kunt u beslissen om voor gebruik te betalen of niet.
Deze opmerking is gemaakt door de moderator op de site
Hallo, is er iets om bovenstaande gegevens naar het volgende formulier te converteren ??
1
A
Lilly
2
B
Judy
...
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor je bericht, deze tutorial https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
praat over hoe dit probleem op te lossen, kunt u naar de weergave gaan.
Deze opmerking is gemaakt door de moderator op de site
Ik heb gegevens die eindigen op dezelfde rij, maar meerdere kolommen waarin ik wil dat ze worden gestapeld in een volgorde waarin B-kolomgegevens onder A-kolomgegevens gaan waar de gegevens eindigen voor A-kolom en C-kolomgegevens om onder A-kolomgegevens te gaan waar de gegevens uit kolom B eindigen enzovoort. Op deze manier heb ik gegevens uit meerdere kolommen die in één kolom passen. Hoe kan ik dat doen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, is er een manier om de formule lege cellen te laten negeren die uw gegevens kunnen bevatten?


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


Ik gebruik een helperblad om een ​​aaneengesloten lijst te maken voor een vervolgkeuzelijst voor gegevensvalidatie. Bij voorbaat dank.
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik ben niet goed in formules, misschien kun je proberen Kutools voor Excel's Selecteer niet-lege cellen hulpprogramma te gebruiken om eerst de lege cellen te selecteren en ze naar een andere locatie te kopiëren en te plakken, en vervolgens de bovenstaande methoden te gebruiken.
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik wil hiermee een stap verder gaan. Ik heb Stack Multiple Columns Into One gebruikt met VBA, code en dit werkt. Ik heb tabellen gebruikt als de bron met deze code en ik krijg de lijst. Is er een manier om de Macro te automatiseren? Zodat wanneer ik een nieuw item aan de tabel toevoeg de macro automatisch wordt uitgevoerd en de resulterende lijst up-to-date houdt?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Chris Blackburn, sorry, ik ben bang dat ik geen code kan vinden die automatisch kan worden uitgevoerd om het resultaat bij te werken, misschien kan iemand anders dat wel.
Deze opmerking is gemaakt door de moderator op de site
Ik probeer dit te doen via een zeer grote tabel (honderden kolommen en rijen die allemaal aan formules zijn gekoppeld. Mijn Excel blijft laden en reageert uiteindelijk niet meer. Is er een manier om hier voorbij te komen? Bedankt
Deze opmerking is gemaakt door de moderator op de site
Hoi Tom, welke methode jij toepast werkt niet? De methode drie, transformatiebereik-tool moet werken.
Deze opmerking is gemaakt door de moderator op de site
Ik gebruik de methode Stapel meerdere kolommen in één met formule en het werkte perfect, maar ik wil dat de opmaak behouden blijft, dat wil zeggen dat sommige kolommen vetgedrukt waren en 1 hyperlinks. Kan er iets aan de formule worden toegevoegd om dit mogelijk te maken?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Susan Milard, hun formule kan aan uw behoefte voldoen, u kunt de VBA- of de Transpose Range-tool gebruiken, beide kunnen u tevreden stellen.
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt, de formule-optie werkte heel goed.. je hebt me veel tijd bespaard.
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor de formule en VBA, maar geen van beide doet wat de titel van het bericht zegt. Ik verwachtte dat ze de kolommen zouden stapelen, maar in plaats daarvan transponeren ze elke rij in een kolom en stapelen die... dus het stapelt getransponeerde rijen, geen kolommen. In sommige gevallen nog steeds erg handig, maar weet iemand hoe de formule en/of VBA moet worden gewijzigd om de kolommen daadwerkelijk te stapelen? Ik veronderstel dat ik het hele invoerbereik zou kunnen transponeren en deze dan zou kunnen gebruiken...
Deze opmerking is gemaakt door de moderator op de site
Voor degenen die kolommen in één willen stapelen, maar niet rijen in één, moet u een duidelijk beeld hebben van wat u echt wilt doen. Stel dat u een 3x3 array heeft, dan wilt u dat uw index()-functie items krijgt in de vorm van (rij, kolom) voor (1,1), (2,1), (3,1), dan (1,2), (2,2), (3,2) en zo verder. Dus wat je wilt te doen is om index() te laten verwijzen naar een enkele kolom met alle rijnummers (1;2;3;1;2;3;1;2;3) en een enkele kolom met alle kolomnummers (1;1 ;1;2;2;2;3;3;3). Om (1;2;3;1;2;3;1;2;3) te krijgen, is een algemene programmeerbenadering het gebruik van 1+mod(some_counter -1,3) waarbij de functie mod() de residuen 0,1,2,0,1,2,... geeft
Om (1;1;1;2;2;2;3;3;3) te krijgen, gebruikt men 1+int((some_counter-1)/3) waar het 1+0, 1+0, 1+0 geeft , 1+1, 1+1, 1+1, 1+2, 1+2, 1+2
Daarom, om een ​​3x3 array in één gestapeld te krijgen, gebruik je de formule (druk op Ctrl +Shft + Enter):=index( $A$1:$C$3, 1+mod(row(A1)-1,3), 1 +int((rij(A1)-1)/3))) waarbij rij(A1) dient als de teller terwijl u uw formule naar beneden vult
Als je het andersom doet (rij naar kolommen, kolommen naar rij), krijg je rijen gestapeld in één column=INDEX( $A$1:$C$3, 1+INT((ROW(A1)-1)/ 3),1+MOD(ROW(A1)-1,3)), wat in wezen is wat de formule in dit artikel doet

In een notendop, de formule die wordt gebruikt om kolommen in een array in een enkele kolom te stapelen, zou zijn:=index( your_array_cells , 1+mod(row(A1)-1, number_of_rows_of_your_array ), 1+int((row(A1)-1 )/ number_of_columns_of_your_array)))
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL