Clever-Excel-Forum

Normale Version: Zwei Spalten nacheinander zusammenfügen_dynamisch
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Leute,

Habe leider kein Forum dazu gefunden. Mit VBA super schnell, mit Excel bereitet mir es leider Probleme:
Ich möchte in Excel zwei beliebig lange Spalten A (A1:A?) und B (B1:B?)  in eine neue Spalte C nacheinander wiedergeben.
Dies jedoch dynamisch: Die Anzahl an nichtleeren Zellen in Spalte A (A1:A?) und B (B1:B?) ist von mal zu mal verschieden.

Ich bin dankbar für Kompletthilfen oder aber auch Hinweise, welche Funktionen ich verwenden könnte.
Hi,

warum kopierst du nicht einfach die Spalte B (oder schneidest sie aus) und setzt sie unter den letzten Eintrag in Spalte A?
Hallo,

wenn du das über eine Formel lösen willst ist vielleicht ist das ein Ansatz:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1Spalte ASpalte BSpalte CSpalte A
2AutoSchiffAutoAuto
3BusRaumschiffBusBus
4BahnBahnBahn
5FlugzeugFlugzeugFlugzeug
6SchiffSpalte B
7RaumschiffSchiff
8Raumschiff

ZelleFormel
E1{=WENN(ZEILE(A1)>ANZAHL2(Tabelle1!A$1:B$10);"";INDEX(Tabelle1!A$1:B$10;REST(KKLEINSTE(WENN(Tabelle1!A$1:B$10>0;(Tabelle1!A$1:B$10>0)*SPALTE(A:B)*100+ZEILE($B$1:$E$10));ZEILE(A1));100);KÜRZEN(KKLEINSTE(WENN(Tabelle1!A$1:B$10>0;(Tabelle1!A$1:B$10>0)*SPALTE(A:B)*100+ZEILE($1:$10));ZEILE(A1))%;)))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.

Allerdings ist das eine Matrixformel und bei größeren Bereichen dürfte das mit der Laufzeit Probleme geben.

Nachtrag: Das Original der Formel stammt nicht von mir, aber ich konnte leider nicht mehr ermitteln von wem die Ursprungsformel stammt.
Vielen vielen  Dank Peter!! Ich versuche es jetzt mal nachzuvollziehen. Es geht auf jeden Fall schonmal!
Hi

wenn es mit Formel sein soll, dann ist diese etwas einfacher zu verstehen.

Code:
C1  =WENN(ANZAHL2(A:A;B:B)<ZEILE(A1);"";WENN(A1<>"";A1;INDEX(B:B;ZEILE(A1)-ANZAHL2(A:A);)))


Gruß Elex
Hallo maniups,

einer klassischen Matrixformel bedarf es nicht. Folgende Formel berücksichtigt auch Leerzellen zwischen den Daten. Wenn keine vorhanden sind, wird die Formel noch wesentlich einfacher. Etwas komplzierter wird die Formel allerdings, wenn Du keine Duplikate in Spalte C listen willst, aber auch ohne {} realisierbar.

Formelbereich an Deine Verhältnisse anpassen (allerdings ist diese auch nicht für viele tausende Datenwerte zu raten) und Formel einfach ziehend nach unten kopieren.

ABC
1Daten 1Daten 2Zusammen
2AutoAuto
3BusBus
4SchiffBahn
5RaumschiffFlugzeug
6BahnSchiff
7MondRaumschiff
8FlugzeugMond
9
10
Formeln der Tabelle
ZelleFormel
C2=WENN(ZEILE(A1)<ANZAHL2(A:A);INDEX(A:A;AGGREGAT(15;6;ZEILE(A$2:A$99)/(A$2:A$99<>"");ZEILE(A1)));WENN(ZEILE(A1)>ANZAHL2(A:B)-2;"";INDEX(B:B;AGGREGAT(15;6;ZEILE(A$2:A$99)/(B$2:B$99<>"");ZEILE()-ANZAHL2(A:A)))))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


[Edit:] Nachtrag:

sehe gerade den Beitrag von Elex. Eine derartige Formel meinte ich mit "wird die Formel noch wesentlich einfacher", wenn keine Leerzellen zu beachten sind.
Moin,
du hast solch ein schön aktuelles Excel, nutze dann doch auch die Möglichkeiten und Werkzeuge ...
Ach ja, ohne VBA, ohne Formel, mit Power Query  Angel
Danke für die Vielzahl an Möglichkeiten die zum Ziel führen. Ich bin wirklich überwältig über die große kompentente Hilfestelltung in diesem Forum die das Problem lösen konnte.

@Elex: ich werde wohl deine Formel verwenden. SIe ist sehr schlank und für eine andere Person sehr leicht nachzuvollziehen.
@GMG-CC: Danke für das Zeigen der neuen Möglichkeit bei Excel 2016, was in Zukunft solche Probleme schneller lösen lässt. Hier werde ich es mal lieber nicht wählen, um zu gewährleisten, dass auch Nutzer älterer Excel-varianten es nutzen können.
@neopa: Das sieht auch richtig top aus, da es aber keine leeren Zellen dazwischen gibt, brauche ich es also erstmal nicht.