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

Wie kann man in Excel schnell mehrere Spalten in eine Spalte stapeln?

In Excel kann die Funktion Text in Spalten eine Zelle basierend auf dem Trennzeichen in mehrere Spalten aufteilen. Gibt es jedoch Möglichkeiten, mehrere Spalten in einer Spalte zu stapeln, wie im folgenden Screenshot gezeigt? In diesem Artikel werde ich einige Tricks zur schnellen Lösung dieser Aufgabe vorstellen.
doc Stapelspalten auf eins 1

Stapeln Sie mehrere Spalten mit einer Formel zu einer

Stapeln Sie mit VBA mehrere Spalten in eine

Stapeln Sie mehrere Spalten mit Transform Range in eine gute Idee3


Stapeln Sie mehrere Spalten mit einer Formel zu einer

1. Wählen Sie den Bereich aus, den Sie stapeln möchten, und gehen Sie zu Namensfeld Um diesem Bereich einen Namen zu geben, drücken Sie Weiter Schlüssel. Siehe Screenshot:
doc Stapelspalten auf eins 2

2. Wählen Sie dann eine leere Zelle aus, in der die Ergebnisse platziert werden sollen, und geben Sie diese Formel ein =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), Drücken Sie Enter Taste drücken und Füllgriff nach unten ziehen, bis ein Fehler angezeigt wird. Siehe Screenshot:
doc Stapelspalten auf eins 3

In der Formel ist MyData der Bereichsname, den Sie in Schritt 1 angegeben haben.

Stapeln Sie mit VBA mehrere Spalten in eine

Hier ist ein VBA-Code, der Ihnen ebenfalls helfen kann.

1. Drücken Sie Alt + F11 Tasten zum Anzeigen Microsoft Visual Basic für Applikationen Fenster.

2 Klicken Insert > ModulFügen Sie den folgenden Code in das ein Modul.

VBA: Spalten auf eins stapeln

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 Stapelspalten auf eins 4

3. Drücken Sie F5 Mit der Taste zum Ausführen des Codes wird ein Dialogfeld zur Auswahl der Quelldaten angezeigt und auf geklickt OK, um eine Zelle zum Platzieren der Ergebnisse auszuwählen. Siehe Screenshot:
doc Stapelspalten auf eins 5

4 Klicken OK. Jetzt wurden die Spalten in einer Spalte gestapelt.
doc Stapelspalten auf eins 6


Stapeln Sie mehrere Spalten mit Transform Range in eine

Um sich zu bewerben Kutools for Excel Bereich transformieren Das Dienstprogramm kann Ihnen auch dabei helfen, dieses Problem schnell zu lösen.

Kutools for Excel, mit mehr als 300 praktische Funktionen erleichtern Ihre Arbeit. 

Nachher kostenlose Installation Kutools für Excel, bitte gehen Sie wie folgt vor:

1. Wählen Sie die von Ihnen verwendeten Spaltendaten aus und klicken Sie auf Kutoolen > Abdeckung > Bereich transformieren. Siehe Screenshot:
doc Stapelspalten auf eins 8

2. In dem Bereich transformieren Dialog, überprüfen Bereich bis einzelne Spalte Option und klicken Sie auf OkWählen Sie dann eine Zelle aus, um die Ergebnisse zu platzieren. Siehe Screenshot:
doc Stapelspalten auf eins 9

3 Klicken OK. Jetzt wurden die Spalten zu einer einzigen Spalte gestapelt.
doc Stapelspalten auf eins 1


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (25)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sie stapeln mehrere Zeilen in einer Spalte, nicht mehrere Spalten ... nicht das, wonach ich gesucht habe.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Um Spalten AP zu stapeln, die sich in Blöcken von 6 Zeilen befinden, geben Sie diese Formeln in Zelle R1 ein und füllen Sie sie aus

=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)
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das funktioniert perfekt, danke
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank für das Posten dieser Lösung! Falls jemand nach/am Ende jedes Blocks ein Leerzeichen benötigt, fügen Sie einfach eine zusätzliche Zählung zu den Zeilen hinzu, also schreiben Sie nach dem obigen Beispiel statt $A$6 $A$7. Es gibt eine Null '0' in die Zeile ein, aber Sie können in Sublime einfach 'Auswahl zum Suchen verwenden' verwenden, um sie zu bearbeiten. Wenn Sie die Lösung kennen, die keine Null hinzufügt, posten Sie sie bitte!?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Um eine leere Zelle anstelle von 0 auszugeben, führen Sie eine IF-Funktion aus> 0, WAHR--> geben Sie den ursprünglichen Zelleninhalt aus, FALSCH--> geben Sie "" aus

=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),"")
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Mist, jetzt geht es nicht! Ich habe es auf einer neuen Registerkarte versucht, aber es ist jetzt wieder möglich, Spalteninhalte in einer anstelle des ursprünglichen Zeileninhalts zu stapeln.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Brechen Sie das letzte ab, haben Sie den Schritt zum Abschneiden verpasst.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich weiß, dass Sie diese Frage vor sehr langer Zeit beantwortet haben, aber können Sie bitte erklären, was genau jeder Teil dieser Funktion macht?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielleicht kann Ihnen dieses Tutorial helfen. https://www.extendoffice.com/documents/excel/3327-excel-convert-multiple-rows-to-columns.html
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dies ist nur ein Clickbait, mit dem Sie eine kostenpflichtige Software herunterladen
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Der erste Download ist 60 Tage lang kostenlos, danach können Sie entscheiden, ob Sie für die Nutzung bezahlen möchten oder nicht.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, gibt es irgendetwas, um die obigen Daten in das folgende Formular umzuwandeln?
1
A
Lilly
2
B
Judy
...
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank für Ihre Nachricht, dieses Tutorial https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
spricht darüber, wie man dieses Problem löst, können Sie zur Ansicht gehen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe Daten, die in derselben Zeile enden, aber mehrere Spalten, in denen sie in einer Reihenfolge gestapelt werden sollen, in der B-Spaltendaten unter A-Spaltendaten gehen, wo die Daten für A-Spalten- und C-Spaltendaten enden, um unter A-Spaltendaten zu gehen wo die Daten aus Spalte B enden und so weiter. Auf diese Weise habe ich Daten aus mehreren Spalten, die in eine Spalte passen. Wie kann ich das machen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, gibt es eine Möglichkeit, die Formel dazu zu bringen, leere Zellen zu ignorieren, die Ihre Daten möglicherweise enthalten?


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


Ich verwende ein Hilfsblatt, um eine zusammenhängende Liste für eine Dropdown-Liste zur Datenvalidierung zu erstellen. Danke im Voraus.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Entschuldigung, ich bin nicht gut in Formeln, vielleicht können Sie versuchen, Kutools for Excel zu verwenden Dienstprogramm Nicht leere Zellen auswählen, um zuerst die nicht leeren Zellen auszuwählen, sie zu kopieren und an einem anderen Ort einzufügen, und dann die obigen Methoden zu verwenden.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich möchte damit noch einen Schritt weiter gehen. Ich habe Stack Multiple Columns Into One With VBA, Code verwendet und das funktioniert. Ich habe Tabellen als Quelle mit diesem Code verwendet und bekomme die Liste. Gibt es eine Möglichkeit, das Ausführen des Makros zu automatisieren? Damit das Makro automatisch ausgeführt wird, wenn ich einen neuen Eintrag in die Tabelle einfüge, und die resultierende Liste auf dem neuesten Stand hält?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Chris Blackburn, tut mir leid, ich fürchte, ich kann keinen Code finden, der automatisch ausgeführt werden kann, um das Ergebnis zu aktualisieren, vielleicht kann es jemand anderes.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich versuche, dies über eine sehr große Tabelle zu tun (100 Spalten und Zeilen, die alle mit Formeln verknüpft sind. Mein Excel wird weiter geladen und reagiert dann letztendlich nicht. Gibt es eine Möglichkeit, daran vorbeizukommen? Danke
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Tom, welche Methode wendest du an funktioniert nicht? Die Methode drei, das Transform Range Tool, muss funktionieren.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich verwende die Methode "Mehrere Spalten in eine mit Formel stapeln" und sie hat perfekt funktioniert, aber ich möchte, dass die Formatierung beibehalten wird, dh einige Spalten waren fett und 1 waren Hyperlinks. Gibt es etwas, das der Formel hinzugefügt werden kann, um dies zu erreichen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Susan Milard, ihre Formel kann Ihre Anforderungen erfüllen, Sie können das VBA- oder das Transpose Range-Tool verwenden, beide können Sie zufrieden stellen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank, die Formeloption hat sehr gut funktioniert. Sie haben mir viel Zeit gespart.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank für die Formel und VBA, aber keiner tut, was der Titel des Beitrags sagt. Ich hatte erwartet, dass sie die Spalten stapeln, aber stattdessen transponieren sie jede Zeile in eine Spalte und stapeln diese ... also stapeln sie transponierte Zeilen, keine Spalten. Für einige Fälle immer noch sehr hilfreich, aber weiß jemand, wie man die Formel und/oder VBA ändert, um die Spalten tatsächlich zu stapeln? Ich nehme an, ich könnte den gesamten Eingangsbereich transponieren und dann diese verwenden ...
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Für diejenigen, die Spalten zu einer, aber keine Zeilen zu einer stapeln möchten, müssen Sie ein klares Bild davon haben, was Sie wirklich tun möchten. Angenommen, Sie haben ein 3x3-Array, von dem Ihre index()-Funktion Einträge in der Form erhalten soll (Zeile,Spalte) für (1,1), (2,1), (3,1), dann (1,2), (2,2), (3,2) und so weiter. So, was Sie wollen zu tun ist, index() auf eine einzelne Spalte mit allen Zeilennummern (1;2;3;1;2;3;1;2;3) und eine einzelne Spalte mit allen Spaltennummern (1;1 ;1;2;2;2;3;3;3).Um (1;2;3;1;2;3;1;2;3) zu erhalten, ist ein üblicher Programmieransatz die Verwendung von 1+mod(some_counter -1,3), wobei die Funktion mod() die Residuen 0,1,2,0,1,2,...
Um (1;1;1;2;2;2;3;3;3) zu erhalten, verwendet man 1+int((some_counter-1)/3), wo es 1+0, 1+0, 1+0 ergibt , 1+1, 1+1, 1+1, 1+2, 1+2, 1+2
Um ein 3x3-Array zu einem zu stapeln, verwenden Sie daher die Formel (drücken Sie Strg + Umschalt + Eingabe): = index ( $ A $ 1: $ C $ 3, 1 + mod (Zeile (A1) - 1,3), 1 +int((row(A1)-1)/3)))wobei row(A1) als Zähler dient, wenn Sie Ihre Formel nach unten füllen
Wenn Sie es umgekehrt ausdrücken (Zeile zu Spalten, Spalten zu Zeile), erhalten Sie Zeilen in einer Spalte gestapelt=INDEX( $A$1:$C$3, 1+INT((ROW(A1)-1)/ 3),1+MOD(ROW(A1)-1,3)), was im Wesentlichen die Formel in diesem Artikel tut

Kurz gesagt, die Formel, die verwendet wird, um Spalten in einem Array zu einer einzigen Spalte zu stapeln, lautet:=index( your_array_cells , 1+mod(row(A1)-1, number_of_rows_of_your_array ), 1+int((row(A1)-1 )/ Anzahl_der_Spalten_Ihres_Arrays)))
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL