Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Transponieren

Transponieren
14.05.2020 21:47:51
Thorsten
Hallo zusammen,
leider funktioniert der Datei-upload nicht, deshalb versuche ich mein Problem zu schildern:
Ich habe eine Adressliste, wobei alle Einträge/Datensätze untereinander in einer Spalte stehen. Jeder Datensatz ist unterschiedlich lang, kann also neben Vorname, Nachname, Straße und Ort auch Telefonnummer und weitere Angaben enthalten. Aus diesem Grund kann ich nicht mit der INDEX-Formel arbeiten.
Jeder eigene Datensatz endet aber mit einem bestimmten Zeichen (bspw. "***"), dann kommt der nächste Datensatz.
Mein Ziel ist es nun ggf. über VBA (oder Formel) eine Liste zu generieren, die pro Zeile einen Datensatz beinhalten. Die drei Sterne ("***") wären dann jeweils der Zeilenumbruch.
Erschwerend kommt hinzu, dass mal die Telefonnummer angegeben ist und mal (zusätzlich) die Faxnummer. das wirft natürlich die Sortierung durcheinander.
Hat jemand einen Ratschlag, um beide Probleme zu lösen?
Danke im Voraus!
Viele Grüße
Thorsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Transponieren
14.05.2020 22:00:21
Daniel
HI
kommt halt ein bisschen darauf an, wie das ganze angeordnet ist.
per VBA vielleicht so, das macht zumindest mal aus einem Datensatz eine Zeile, Anordnung der Spalten halt zufällig so wie es kommt.:
dim rng as range
dim z as Long
columns(1).replace "~*~*~*", "", xlpart
for each rng in columns(1).specialcells(xlcelltypeconstants, 3).Areas
z = z + 1
rng.copy
cells(z, 3).pastespecial xlpastevalues, Transpose:=true
Next
Formel lösung wäre so:
1. vor den Daten in Spalte A eine Hilfsspalte einfügen.
2. in die erste Zeile den Wert 101 eintragen
3. ab der zweiten Zeile dann die Formel: =Wenn(B2="***";Abrunden(A1;2)+100;A1+1)
4. für die Auswertung legst du dir dann eine Tabelle an in welcher du
- die Zahlen 1-x nebeneinander als Spaltenüberschrift
- die Zahlen 100, 200, 300 usw aufsteigend untereindander als Zeilentitel
um die Werte auszulesen addierst du dann Zeilen- und Spaltentitel und kannst dann über den SVErweis auf den jeweiligen Datenwert zugreifen.
Gruß Daniel
Anzeige
AW: Transponieren
14.05.2020 22:29:44
Thorsten
Hey Daniel,
danke für die superschnelle Antwort!!
Die Formel hat supergut funktioniert - danke, danke, danke!
Viele Grüße
Thorsten
P.S. In der Formel hat ein kleines "-" beim Abrunden gefehlt - aber da bin ich selbst drauf gekommen! :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige