Inhalt zweier Spalten sortiert in eine Spalte
#1
Hallo,

ich verzweifle gerade an einem meiner Meinung nach eigentlich einfachen Excel Problem:

Als Beispiel siehe den Screenshot anbei. Ich habe eine Menge Inhalte in der Spalte A und B und möchte diese nun zusammen in eine neue Spalte (z.B. D) bringen. Jedoch in der Reihenfolge A1, B1, A2, B2, A3, B3... sortiert.

Jemand eine Idee, wie das einfach geht?

Wenn ich in die Zelle D1 als Formel "=A1" und in die Zelle D2 als Formel "=B1" schreibe, dann beide markiere und runterziehe, überspringt er immer eine Zeile. Dann steht dort A1 B1 A3 B3 A5 B5...

Im Internet habe ich gefunden, dass es dafür die Funktion "=ZUSPALTE" gibt, jedoch gibt es diese nicht in meiner Excelversion (Office 2019).

Hoffe um Hilfe!

Viele Grüße
Kronion


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo,

als VBA-lastiger Anwender würde ich das mit einem Makro lösen. Darf es so etwas sein?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo Klaus-Dieter,

ich habe noch nie mit Makros in Excel gearbeitet. Müsste ich mich dann erst reinlesen.

Hätte irgendwie gedacht, dass das einfach lösbar ist.

Viele Grüße
Antworten Top
#4
Hallo,

Makro ist einfach, wenn man es kann...
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • GMG-CC
Antworten Top
#5
Hallo,

gibt es denn keine Möglichkeit dies ohne ein Makro zu machen?

Viele Grüße
Antworten Top
#6
Moin,

zum Beispiel mit folgender Formel:
Code:
=INDEX($A$1:$B$5;GANZZAHL((ZEILE()+1)/2);REST(ZEILE()-1;2)+1)

Viele Grüße
derHöpp

[Nachtrag:] Mit Powerquery geht es auch recht einfach:
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    Alternating = Table.FromList(List.Combine(List.Zip({Quelle[Aspalte],Quelle[Bspalte]})),null,{"Kombiniert"})
in
    Alternating

oder mit hilfe von Unpivot:
Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    AlternateByUnpivot = Table.SelectColumns(Table.UnpivotOtherColumns(Quelle, {}, "Attribut", "Wert"),{"Wert"})
in
    AlternateByUnpivot
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • PIVPQ
Antworten Top
#7
Moin,

danke für deine Hilfe! Wenn ich die erste Formel eingebe, bekomme ich die Fehlermeldung "Sie haben zu viele Argumente in diese Funktion eingegeben"

Powerquery oder Unpivot sagen mir leider nix. Sind wahrscheinlich Addins, welche ich erst installieren müsste?

Es beruhigt mich aber, dass das ganze gar nicht so leicht zu sein scheint, wie es aussieht.

VG
Fabian
Antworten Top
#8
Moin,

bei mir funktioniert die Formel. Zähle nochmal die Klammern und die Argumente. 

Powerquery ist sei XL 2013 integraler Bestandteil von Excel und ist über Daten, abrufen und Transformieren zu finden. Wenn du deine Daten in eine sog. Strg+T-Tabelle/Listobject gewandelt hast, kannst du einfach auf den Button "Aus Tabelle" klicken und kommst damit direkt in den PQ-Editor. 

Die Lösung mit dem Entpivotieren lässt sich auch zusammenklicken:
Markiere beide Spalten (Klick auf den Spaltenkopf bei gedrückter Strg Taste)
Im Ribbon Transformieren, klicke auf Spalten Entpivotieren 
Lösche die Spalte Attribut (einmal Linksklick auf den Spaltenkopf, dann Rechtsklick auf Spaltenkopf, Spalten entfernen)
Im Ribbon Start: schließen und laden in... Tabelle neues Arbeitsblatt, fertig.

Und nein, schwer ist auch die Formel nicht. Es geht ja nur um Ganzzahlen und ihren Rest bei der Teilung durch 2.

Viele Grüße 
derHöpp

(Nochmal nachträglich: die oben von mir genannte PowerQuery abfragen kannst du über den erweiterten Editor im PowerQuery-Editor auch direkt einfügen.
Antworten Top
#9
Hallo,

falls das Abtippen der Formel Probleme bereitet, liegt eine Datei bei mit der Formel von @derHoepp.


Angehängte Dateien
.xlsx   Kronion_ZUSPALTE.xlsx (Größe: 10,91 KB / Downloads: 3)
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#10
Auch von mir:
Die Formel funktioniert natürlich!

Allerdings ist GANZZAHL() in INDEX() überflüssig.
Beim Zeilen- und Spaltenargument werden automatisch die Dezimalstellen eliminiert.
Siehe:

ABCD
1A1B1A1
2A2B2B1
3A3B3A2
4A4B4B2
5A5B5A3
6A6B6B3
7A7B7A4
8A8B8B4
9A9B9A5
10A10B10B5
11A6
12B6

ZelleFormel
D1=INDEX($A$1:$B$10;(ZEILE()+1)/2;REST(ZEILE()-1;2)+1)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • derHoepp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste