Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1260to1264
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

AdressListe umgestalten

AdressListe umgestalten
Pavel

Ich habe mich schon lange nicht mehr mit EXCEL-Formeln auseinandergesetzt - deshalb suche ich hier nach einer - möglicherweise - sehr simplen Lösung.
Momentan sieht meine aus einem Text-Dokument importierte Telefonliste folgendermassen aus:
In Spalte F: jeweils 3er-Blöcke manchmal sogar nur 2er-Blöcke: (Vorname), Nachname, Telefon.
In Spalte G: jeweils die dazugehörenden Namen und Nummern...
-------------- F ----------------- G ----------
1----------------------------------------------
2-----Vorname---------------Hans--------
3-----Nachname-------------Muster------
4-----Telefon-----------------0876665544
5----------------------------------------------
6-----Vorname---------------Franz--------
7-----Nachname-------------Beispiel-----
8-----Telefon-----------------0321110033
9----------------------------------------------
10 etc...
Das Endprodukt sollte aber so aussehen:
A1 bis C1 ist für die einmalige Überschrift.
-------------- A ----------------- B ----------------- C ---------------
1 ------ Vorname -------- Nachname ------- Telefon -----------
2 ------ Hans ------------- Muster ----------- 0876665544 -----
3 ------ Franz ------------ Beispiel ---------- 0321110033 -----
4 ------ etc...
Vielen Dank
Pavel
Keine Rückmeldung - aber neuer Thread :-(
28.04.2012 07:10:41
Erich
Hi Pavel, (dies ist eine Anrede - macht sich zu Beginn eines Beitrags besser als mit "Ich ..." zu starten),
warum sollte dir jemand antworten, wenn du auf Lösungsvorschläge nicht reagierst, keine Rückmeldung gibst?
Stattdessen eröffnest du hier einen neuen Thread, ohne einen Bezug zum alten herzustellen.
Reinhard hat am 20.04.2012 ein paar Formeln vorgeschlagen in
https://www.herber.de/forum/archiv/1260to1264/t1260202.htm
Was gefällt dir an diesen Formeln nicht?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 15:15:21
pavel
Die Gründe sind sehr einfach...
1. Wusste ich bis heute nicht, wie ich auf die Antworten Zurückschreiben konnte ...
... und das will was über die Benutzerfreundlichkeit aussagen, denn ich bin EDV-Mensch und kann Internet Seiten programmieren - doch hier habe ich lange gebraucht um mich zurechtzufinden ! :-(
2. Hat sich mein Problem geändert (siehe neusten Thread) - das Zahlenproblem existiert nicht mehr, denn ich habe es selbst gelöst! Es handelt sich jetzt nur noch um die simple Umgestaltung und nichts anderes !
3. Bin ich kein langjähriges Aktiv-Mitglied dieses Forums und damit nicht so vertraut wie Ihr es seit !
4. An Alle Die mir helfen wollten - nachträglich - Herzlichen Dank !
Anzeige
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 15:37:05
Hajo_Zi
Hallo Pavel,
warum ist dieser Beitrag als offen gekennzeichnet, wenn Du das Problem in einem anderen Beitrag geschrieben hast?
Gruß Hajo
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 15:45:04
pavel
Sobald ich weiss wie ich den alten Beitrag schliessen kann tue ich es gerne - wie ich bereits erwähnte hat sich mein Problem geändert !
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 17:08:04
Reinhard
Hallo Grußloser, Anrede
wenn dich das Blinken nervt dann schau mal hier:
http://www.kmbuss.de/Excel-CD/Pics/OH_Forumsbeitrag.gif
Auf "das" hat dich ja schon Erich wirkungsloser Weise angeschrieben.
Natürlich kannst du das so handhaben wie DU es willst.
Im Gegenzug handhaben WIR es auch so wie wir es wollen, also ob wir dir helfen oder nicht.
Ist ein freies Land...
Hajo hat garantiert geschrieben weil du ein Häkchen bei "Frage noch offen" gesetzt hattest.
Das ist m.E. nicht gerade das richtige Vorgehen beim Versuch den alten Beitrag zu schließen.
Und, die Möglichkeit eine Beitragsfolge abzuschließen sodaß keiner mehr dort antworten kann
oder teilweise bis ganz zu löschen hat nur der Forumsbetreiber und User denen er diese Möglichkeiten
eingeräumt hat.
Hier bei Herber hast du, ich diese Möglichkeit nicht.
Der Sinn der Sache ist auch nicht daß eine Beitragsfolge zu eröffnen, dort auf evtl. Antworten
nicht zu reagieren sondern stattdessen eine neue Beitragsfolge zu eröffnen.
Wenn du so weiter wie bislang machst wirst du absehbar noch öfters "Bleib im alten Thread" zu lesen bekommen.
Naja, in der ersten Anfangsphase. Danach kommen so Äußerungen nicht mehr, da kommt nämlich nix mehr.
Gruß Grußfloskel
Reinhard
Anzeige
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 17:42:06
pavel
Hallo Reinhard
Das sind alles nur unnötige Missverständnisse !
Ich werde die Anstands-Regeln (nun da ich sie kenne) versuchen umzusetzen.
Wie bereits bemerkt bin ich ein Anfänger hier und war noch nicht mit den Regeln vertraut. Komme übrigens aus der Schweiz - falls es hilft ...
Lange Rede kurzer Sinn ... falls ich gewusst hätte wie ich auf Deinen Thread antworten könnte hätte ich es getan ... aber leider weiss ich es erst seit heute und der alte Thread ist leider bereits im Archiv.... sorry!
Nochmals vielen herzlichen Dank für Deinen umfassenden Beitrag ... um es kurz auszudrücken - die Idee mit den Zusatz- Hilfspalten ist zwar kreativ, aber ich hoffe immer noch auf eine weniger komplizierte Lösung ... deshalb ist die Frage immer noch offen. Wie auch erwähnt hat mein neuer Thread nicht mehr viel mit dem alten zu tun - da das Nummern-Chaos gelöst ist. Es geht also nicht mehr um die Nullen.
Ich hoffe sehr, dass ich mich nicht mehr bei weiteren Leuten wegen dieser dummen Missverständnisse rechtfertigen muss!
Gruss
Pavel
Anzeige
AW: Keine Rückmeldung - aber neuer Thread :-(
29.04.2012 17:47:54
Hajo_Zi
Hallo Pavvel,
Du möchtest unbedingt das Dior hioer im Forum jemand die kurze Lösung die Du schion hast vorschlägst. Die wahrscheinlichkeit ist gering.
Du solltest Deine Einstellung ändern, jede Lösung im Forum abzulehnen.
Dir wurde eine Lösung vorgeschlagen und darum ist der Beitrag nicht meghr offen.
Gruß Hajo
AW: Keine Rückmeldung - aber neuer Thread :-(
30.04.2012 23:32:04
pavel
Hallo Hajo
Wie du meinst ...
Danke trotzdem
Schönen Abend
Pavel
AW: AdressListe umgestalten
29.04.2012 15:39:33
pavel
Danke Hajo_Zi
Die VBA-Lösung ist eine nette Alternative ... habe aber mehr an eine "simple, gewöhnliche, langweilige"
Excel-Formel gedacht ;-)
Trotzdem vielen Dank!
AW: AdressListe umgestalten
29.04.2012 15:52:52
pavel
Hallo Hajo -
Mein Problem hat sich etwas geändert - das Zahlenchaos existiert nicht mehr bei meinem 2. Versuch mit importierten .txt Dokument bin ich schlauer vorgegangen!
Die Lösung von Reinhard ist mir viel zu kompliziert - Leider habe ich für mich daraus keinen Nutzen ziehen können. Kein Zweifel dass es sich um einen Excel-Experten handeln muss.
...
Aber es geht jetzt wirklich nur noch um das simple von Spalten nach Zeilen - Problem!
Danke
Anzeige
AW: AdressListe umgestalten
29.04.2012 16:04:20
Hajo_Zi
Tabelle3
 ABC
1HansMuster876665544
20FranzBeispiel

verwendete Formeln
Zelle Formel Bereich
A1 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 
B1 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 
C1 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 
A2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 
B2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 
C2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-1)*2;7;;;"Tabelle2")) 

Tabellendarstellung in Foren Version 5.48


Gruß Hajo
Anzeige
AW: AdressListe umgestalten
29.04.2012 16:13:05
Hajo_Zi
und mit Überschrift
Tabelle3
 ABC
1VornameNachnameTelefon
2HansMuster876665544
30FranzBeispiel

verwendete Formeln
Zelle Formel Bereich
A2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 
B2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 
C2 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 
A3 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 
B3 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 
C3 =INDIREKT(ADRESSE(SPALTE()+ZEILE()+(ZEILE()-2)*2-1;7;;;"Tabelle2")) 

Tabellendarstellung in Foren Version 5.48


Gruß Hajo
Anzeige
AW: AdressListe umgestalten
29.04.2012 16:57:02
pavel
Habe mir eher eine simple Wenn-Dann-Formel vorgestellt...
Selbstverständlich sind Überschriften dabei völlig irrelevant
...könnte man nicht in A2 einfach ein Formel einfügen? wie z.B.:
WENN F2 = "Vorname" DANN G2 kopieren nach A2
WENN F3 = "Nachname" DANN G3 kopieren nach B2
WENN F4 = "Telefon" DANN G4 kopieren nach C2
etc...
So wäre auch ich imstande die Formel zu verstehen.
Braucht man für diese Aufgabe Zusatz- od. Hilfspalten, wie andere Beiträge dies bereits vorschlugen ?
Kommt Excel mit den Leerzeilen etwas nicht zurecht ?
Ich denke aber schon - selbstverständlich ist dies nur meine Meinung ...
Anzeige
AW: AdressListe umgestalten
29.04.2012 17:09:14
Hajo_Zi
Hallo Pavel,
wenn Du der Auffasung bist es reich einfache Formel dann verknüpfe jede einzelne zelle mit der entsprechenden Quellzelle. Ich war davon ausgegangen du möchtest die Zellen ziehen. Was meiner Meinung nach die einfacherte Variante ist. Jede Zelle einzeln zu verknüpfen ist leichter zu verstehen, dauertz aber nur ein wenifg länger.
Gruß Hajo
AW: AdressListe umgestalten
30.04.2012 23:46:22
pavel
Hallo Hajo_Zi
Selbstverständlich möchte ich die Zellen ziehen können - wenn möglich...
Es ist nur so, dass ich Deine Formel mit meinen bescheidenen Excel-Kenntnissen nicht verstehe - od. nicht nachvollziehen kann.
wenn Du mir sagst, dass in meinem Fall garantiert keine Formel ähnlich kurz oder einfach zu begreifen ist wie Deine vorgeschlagene Formel - werde ich es wohl akzeptieren müssen. Ich versuche nur etwas zu verstehen bevor ich es einfach übernehme ...
Danke aber trotzdem
Pavle
AW: AdressListe umgestalten
29.04.2012 20:08:56
fcs
Hall0 Pavel,
das Hauptproblem, das einer "möglicherweise - sehr simplen Lösung" entgegensteht ist die Tatsache, dass deine Datensätze eine unterschiedliche Zeilenzahl haben (2 oder 3). Bei 2 Zeilen ist mal der Nachname, mal der Vorname + die Telefonnummer angegeben. Dieses Händicap läßt sich dann nur noch dadurch umgehen, dass
1. die 1. Zeile jedes Datensatzes ermittelt werden muss
2. daraus dann der Datenbereich des Datensatzes ermittelt wird.
3. Über Vergleich des Feldnamens die Daten in die richtige Spalte übernommen werden.
In soweit kannst du dich von der "möglicherweise - sehr simplen Lösung" verabschieden.
Da ich ein Freund einfacher Formeln bin, die dann auch einfacher nachzuvollziehen sind, investiere ich lieber ein paar Hilfsspalten (Excel hat ja mindestens 255 Spalten), statt extrem unübersichtlicher Formeln.
Da sehe ich meine Lösung als die mögliche simpelste Lösung für dein Problem an. Die Hilfsspalten kann man ja auch ausblenden, wenn die Optik stört.
Die letze "einfache" Formellösung von Hajo erfordert einheitliche Datensätz mit jeweils 3 Zeilen pro Datensatz.
Gruß
Franz
Meine Lösung mit 3 Hilfsspalten https://www.herber.de/forum/messages/1261385.html Tabellenblattname: Tabelle1 A B C D E F G H 1 Vorname Nachname Telefon Zeile 1 Bereich 1 2 Hans Muster 0876665544 1 F1:G4 Vorname Hans 1 Benutzte Formeln: A2: =WENN(ISTNV(SVERWEIS(A$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(A$1;INDIREKT($E2);2;FALSCH)) B2: =WENN(ISTNV(SVERWEIS(B$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(B$1;INDIREKT($E2);2;FALSCH)) C2: =WENN(ISTNV(SVERWEIS(C$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(C$1;INDIREKT($E2);2;FALSCH)) D2: =VERGLEICH(ZEILE()-1;H:H;0) E2: ="F" & D2 & ":G" & WENN(E3="";D2+4;D3-1) H1: =ZÄHLENWENN($F$1:F1;"") H2: =ZÄHLENWENN($F$1:F2;"") kann man auch so mit nur einer Hilfsspalte schreiben:#
Tabellenblattname: Tabelle1 (2)
A         B           C        D   E      F       G     H
1  Vorname   Nachname      Telefon                            1
2     Hans     Muster   0876665544           Vorname   Hans   1
Benutzte Formeln:
A2:  =WENN(ISTFEHLER(SVERWEIS(A$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(A3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH));"";
SVERWEIS(A$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(A3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH))
B2:  =WENN(ISTFEHLER(SVERWEIS(B$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(B3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH));"";
SVERWEIS(B$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(B3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH))
C2:  =WENN(ISTFEHLER(SVERWEIS(C$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(C3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH));"";
SVERWEIS(C$1;INDIREKT("F" & VERGLEICH(ZEILE()-1;$H:$H;0) & ":G" &
WENN(ISTLEER(C3);VERGLEICH(ZEILE()-1;$H:$H;0)+4;VERGLEICH(ZEILE();$H:$H;0)-1));2;FALSCH))
H1:  =ZÄHLENWENN($F$1:F1;"")
H2:  =ZÄHLENWENN($F$1:F2;"")

AW: Liste umgestalten + Nacharbeit
29.04.2012 20:59:33
fcs
Hallo Pavel,
hier noch eine Lösung mit relativ einfachen Formeln, aber manueller Nachbereitung des Ergebnisses.
Die per Formel erstellte Liste muss dann noch wie folgt nachbereitet werden:
1. Per Autofilter die Zeilen mit "|" ausblenden
2. gefilterte Daten markieren, kopieren und in einen anderen Zellbereich einfügen
3. In den Werten mit Suchen/Ersetzen #NV durch Nichts ersetzen.
Gruß
Franz
Tabelle1 (3)

 ABCDEFG
1VornameNachnameTelefon    
2|||  VornameHans
3Hans#NV0876665544  Telefon0876665544
4|||    
5|||  VornameFranz
6|||  NachnameMuster
7FranzMuster0876665994  Telefon0876665994

Formeln der Tabelle
ZelleFormel
A2="|"
B2="|"
C2="|"
A3=WENN($F4="";INDEX($G1:$G3;VERGLEICH(A$1;$F1:$F3;0)); "|")
B3=WENN($F4="";INDEX($G1:$G3;VERGLEICH(B$1;$F1:$F3;0)); "|")
C3=WENN($F4="";INDEX($G1:$G3;VERGLEICH(C$1;$F1:$F3;0)); "|")
A4=WENN($F5="";INDEX($G2:$G4;VERGLEICH(A$1;$F2:$F4;0)); "|")
B4=WENN($F5="";INDEX($G2:$G4;VERGLEICH(B$1;$F2:$F4;0)); "|")
C4=WENN($F5="";INDEX($G2:$G4;VERGLEICH(C$1;$F2:$F4;0)); "|")
A5=WENN($F6="";INDEX($G3:$G5;VERGLEICH(A$1;$F3:$F5;0)); "|")
B5=WENN($F6="";INDEX($G3:$G5;VERGLEICH(B$1;$F3:$F5;0)); "|")
C5=WENN($F6="";INDEX($G3:$G5;VERGLEICH(C$1;$F3:$F5;0)); "|")
A6=WENN($F7="";INDEX($G4:$G6;VERGLEICH(A$1;$F4:$F6;0)); "|")
B6=WENN($F7="";INDEX($G4:$G6;VERGLEICH(B$1;$F4:$F6;0)); "|")
C6=WENN($F7="";INDEX($G4:$G6;VERGLEICH(C$1;$F4:$F6;0)); "|")
A7=WENN($F8="";INDEX($G5:$G7;VERGLEICH(A$1;$F5:$F7;0)); "|")
B7=WENN($F8="";INDEX($G5:$G7;VERGLEICH(B$1;$F5:$F7;0)); "|")
C7=WENN($F8="";INDEX($G5:$G7;VERGLEICH(C$1;$F5:$F7;0)); "|")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
AW: Liste umgestalten + Nacharbeit
01.05.2012 00:08:14
pavel
Du hast Dir richtig viel Mühe gegeben es mir so verständlich und einfach wie möglich zu machen - Das ist super nett !
Ich werde mich jetzt für die eine oder andere Variante enscheiden
Vielen herzlichen Dank!
Pavle
AW: AdressListe umgestalten
30.04.2012 23:56:09
pavel
Hallo Franz
Aha, jetzt verstehe ich, d.h. es ist gar nicht so simpel mit 2 od. 3 Zeilen umzugehen wie ich es gedacht habe.
Da habe ich wohl Excel etwas überschätzt. Schade! Dann werde ich genau so vorgehen wie Du und evtl. Andere es mir bereits vorgeschlagen haben.
Ich finde du hast mir sehr geholfen mit diesen paar Zusatzinformationen - Danke
Schönen Abend noch
Pavel
AW: AdressListe umgestalten
28.04.2012 08:48:59
fcs
Hallo Pavel,
den Hinweis von Erich solltest du Dir wirklich zu Herzen nehmen.
Falls deine Frage in der aktuellen Forumsliste nicht mehr vorhanden ist, dann kannst unter "Deine Beiträge" prüfen, ob noch Antworten eingegangen sind.
Falls dann weitere Fragen sind, dann im neuen Thread bitte einen Link zur archivierten Frage einfügen.
Ich kannte deine ursprüngliche Frage und insbesondere Reihards Antwort nicht und hab jetzt auch Zeit für eine Lösung investiert.
Vom Ansatz her ähnlich wie Reinhards, jedoch mit Hilfsspalten statt Namen mit Formeln.
Tabellenblattname: Tabelle1
A          B           C           D         E         F           G        H
1  Vorname    Nachname      Telefon   Zeile 1   Bereich                           1
2     Hans      Muster   0876665544         1     F1:G4    Vorname         Hans   1
3    Franz   Beispiel3                      5     F5:G7   Nachname       Muster   1
4    Franz    Beispiel   0321110033         8    F8:G12    Telefon   0876665544   1
5                                                                                 2
6                                                          Vorname        Franz   2
7                                                         Nachname    Beispiel3   2
8                                                                                 3
9                                                          Vorname        Franz   3
10                                                         Nachname     Beispiel   3
11                                                          Telefon   0321110033   3
Benutzte Formeln:
A2:  =WENN(ISTNV(SVERWEIS(A$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(A$1;INDIREKT($E2);2;FALSCH))
A3:  =WENN(ISTNV(SVERWEIS(A$1;INDIREKT($E3);2;FALSCH));"";SVERWEIS(A$1;INDIREKT($E3);2;FALSCH))
A4:  =WENN(ISTNV(SVERWEIS(A$1;INDIREKT($E4);2;FALSCH));"";SVERWEIS(A$1;INDIREKT($E4);2;FALSCH))
B2:  =WENN(ISTNV(SVERWEIS(B$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(B$1;INDIREKT($E2);2;FALSCH))
B3:  =WENN(ISTNV(SVERWEIS(B$1;INDIREKT($E3);2;FALSCH));"";SVERWEIS(B$1;INDIREKT($E3);2;FALSCH))
B4:  =WENN(ISTNV(SVERWEIS(B$1;INDIREKT($E4);2;FALSCH));"";SVERWEIS(B$1;INDIREKT($E4);2;FALSCH))
C2:  =WENN(ISTNV(SVERWEIS(C$1;INDIREKT($E2);2;FALSCH));"";SVERWEIS(C$1;INDIREKT($E2);2;FALSCH))
C3:  =WENN(ISTNV(SVERWEIS(C$1;INDIREKT($E3);2;FALSCH));"";SVERWEIS(C$1;INDIREKT($E3);2;FALSCH))
C4:  =WENN(ISTNV(SVERWEIS(C$1;INDIREKT($E4);2;FALSCH));"";SVERWEIS(C$1;INDIREKT($E4);2;FALSCH))
D2:  =VERGLEICH(ZEILE()-1;H:H;0)
D3:  =VERGLEICH(ZEILE()-1;H:H;0)
D4:  =VERGLEICH(ZEILE()-1;H:H;0)
E2:  ="F" & D2 & ":G" & WENN(E3="";D2+4;D3-1)
E3:  ="F" & D3 & ":G" & WENN(E4="";D3+4;D4-1)
E4:  ="F" & D4 & ":G" & WENN(E5="";D4+4;D5-1)
H1:  =ZÄHLENWENN($F$1:F1;"")
H2:  =ZÄHLENWENN($F$1:F2;"")
H3:  =ZÄHLENWENN($F$1:F3;"")
H4:  =ZÄHLENWENN($F$1:F4;"")
H5:  =ZÄHLENWENN($F$1:F5;"")
H6:  =ZÄHLENWENN($F$1:F6;"")
H7:  =ZÄHLENWENN($F$1:F7;"")
H8:  =ZÄHLENWENN($F$1:F8;"")
H9:  =ZÄHLENWENN($F$1:F9;"")
H10:  =ZÄHLENWENN($F$1:F10;"")
H11:  =ZÄHLENWENN($F$1:F11;"")

Das Problem mit dem Verlust der Nullen in der Orts/Land-Vorwahl kannst du umgehen, wenn du beim Öffnen/Importieren der TXT-Datei im Schritt 3 des Textkonvertierungs-Assistenten das Format der Spalten von "Standard" in "Text" änderst.
Alternativ kan man solche Listen auch per Makro umstellen.
Gruß
Franz
Sub Adressliste_umstellen()
Dim wksAlt As Worksheet, wksNeu As Worksheet, wbNeu As Workbook
Dim lngZeile_A As Long, lngZeile_N As Long
Const lngSpalteFeld As Long = 6 'Spalte F - Spalte mit den Feldnamen
Set wksAlt = ActiveSheet    'Tabellenblatt mit den Ausgangsdaten
With wksAlt
'Prüfen, ob Daten vorhanden in Spalte F
lngZeile_A = .Cells(.Rows.Count, lngSpalteFeld).End(xlUp).Row
If lngZeile_A = 1 Then
MsgBox "Im aktiven Tabellenblatt sind keine Daten in Spalte F vorhanden", _
vbInformation + vbOKOnly, "Adressliste umstellen"
GoTo Beenden 'Keine Daten in Spalte F
End If
Application.ScreenUpdating = False
'Neue Datei mit einem Tabellenblatt anlegen
Set wbNeu = Workbooks.Add(Template:=xlWBATWorksheet)
Set wksNeu = wbNeu.Worksheets(1)
With wksNeu
lngZeile_N = 1
'Spaltentitel für umgestellte Liste
.Cells(lngZeile_N, 1) = "Vorname"
.Cells(lngZeile_N, 2) = "Nachname"
.Cells(lngZeile_N, 3) = "Telefon"
End With
'Prüfen Zelle F1 - sollte normalerweise leer sein
If Trim(.Cells(1, lngSpalteFeld))  "" Then
lngZeile_N = lngZeile_N + 1
End If
For lngZeile_A = 1 To lngZeile_A
'Inhalt in Spalte F prüfen
With .Cells(lngZeile_A, lngSpalteFeld)
If Trim(.Text) = "" Then 'leere Zeile
'nächster Datensatz
'Prüfen, ob Zeile unterhalb die Zeile nicht leer ist
If Trim(.Offset(1, 0).Text)  "" Then
lngZeile_N = lngZeile_N + 1
End If
ElseIf InStr(1, .Value, "Vorname") > 0 Then
wksNeu.Cells(lngZeile_N, 1).Value = .Offset(0, 1).Text
ElseIf InStr(1, .Value, "Nachname") > 0 Then
wksNeu.Cells(lngZeile_N, 2).Value = .Offset(0, 1).Text
ElseIf InStr(1, .Value, "Telefon") > 0 Then
With .Offset(0, 1)
'das zusätzlich vorangestellte "'" schützt führende Nullen der Telefonnummer
wksNeu.Cells(lngZeile_N, 3).Value = IIf(IsNumeric(.Value), "'", "") & .Text
End With
End If
End With
Next lngZeile_A
End With
With wksNeu
'Spalte A bis C: Spaltenbreite anpassen
.Range(.Columns(1), .Columns(3)).AutoFit
'Tabellenblatt umbenennen
.Name = "Adressliste"
End With
'Fenster unterhalb von A1 fixieren
With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 1
Range("A2").Select
.FreezePanes = True
End With
MsgBox "Fertig", vbInformation + vbOKOnly, "Adressliste umstellen"
Beenden:
Application.ScreenUpdating = True
Set wksNeu = Nothing: Set wksAlt = Nothing: Set wbNeu = Nothing
End Sub

noch ein Versuch
29.04.2012 19:42:54
Erich
Hi Pavel,
ist die folgende Lösung einfach genug? ;-)
 ABCDEFG
1VornameNachnameTelefon Nr  
2Vor1Nachn108766551 2VornameVor1
3Vor2Nachn203211102 2NachnameNachn1
4 Nachn312345633 2Telefon08766551
5Vor4Nachn405678944 3  
6Vor5 08766655 3VornameVor2
7Vor6Nachn6  3NachnameNachn2
8    3Telefon03211102
9    4  
10    4NachnameNachn3
11    4Telefon12345633
12    5  
13    5VornameVor4
14    5NachnameNachn4
15    5Telefon05678944
16    6  
17    6VornameVor5
18    6Telefon08766655
19    7  
20    7VornameVor6
21    7NachnameNachn6

Formeln der Tabelle
ZelleFormel
A2{=WENN(MAX(($E$2:$E$999=ZEILE())*($F$2:$F$999=A$1)*ZEILE($F$2:$F$999))=0;""; INDEX($G:$G;MAX(($E$2:$E$999=ZEILE())*($F$2:$F$999=A$1)*ZEILE($F$2:$F$999))))}
E2=1+ZÄHLENWENN($G$1:G2;"")
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
AW: noch ein Versuch
01.05.2012 00:35:11
pavel
Hallo Erich G.
Hoppla! - Deine Lösung meines Problems ist von der Handhabung und der Schnelligkeit her - eindeutig mein Favorit!
Ich weiss zwar nicht wieso dies alles so toll funktioniert - aber offenbar die Créme de la Créme !
*staun* *glotz* *leerschluck*
Vielen herzlichen Dank
Pavle

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige