Telefonnummern formatieren
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Telefonnummern formatieren
Da wirst Du um eine Programmierung mit Logik nicht rumkommen - Deine Wünsche sind mehr als "Formatieren"....
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Telefonnummern formatieren
Wenn Du nur exakt diese Muster hast, geht das hier:
mfG
Aber das wird nicht der Fall sein, oder?mfG
Re: Telefonnummern formatieren
Vielen Dank für Eure raschen und kreativen Vorschläge
Nur ist es (natürlich) so, dass die Telefonnummern nicht alle das gleiche Muster vorweisen. Die Vorwahlen sind natürlich nicht alle von Wien (01); sondern von diversen Ortschaften.
Auch kann ich die Tabelle nicht nach "hat durchwahl, hat keine " sortieren; daher helfen mir die zwei muster nur bedingt.
Gibt es eventuell eine Lösung, welche auf alles passt?
Nur ist es (natürlich) so, dass die Telefonnummern nicht alle das gleiche Muster vorweisen. Die Vorwahlen sind natürlich nicht alle von Wien (01); sondern von diversen Ortschaften.
Auch kann ich die Tabelle nicht nach "hat durchwahl, hat keine " sortieren; daher helfen mir die zwei muster nur bedingt.
Gibt es eventuell eine Lösung, welche auf alles passt?
Code: Alles auswählen
hier mal ein Auszug
06582/73310-0
02747/67682
03452/82292
02782/83586
05337/62554
07412/52295
01/8773117-0
02554/8248
06277/7760
05212/3144
04852/69820-0
02252/84352
01/4855772
02574/2335-0
03862/57657-0
01/6022656
05242/65532-0
Re: Telefonnummern formatieren
Anhand der zwei Muster müsste Dir das Prinzip klar sein:
man muss anhand irgendwelcher Merkmale (Position des /, Länge, Art der Vorwahl...) identifizieren, was mit der Nummer geschehen soll und sie dann entsprechend auseinandernehmen.
Es geht nicht anders, als alle möglichen Fälle zu identifizieren und entsprechend abzuhandeln.
Das was Du tust, wenn Du eine Formel anschaust und dann entscheidest, wie Du die aufbereiten willst, das musst Du als Formel formulieren können.
Ob man das mit Calc-Formeln macht oder besser ein Makro programmiert, kann ich Dir nicht sagen.
Aber so oder so:
Die Fallmerkmale und was dann jeweils geschehen soll, musst Du definieren. Es gibt keine Funktion "beliebige Telefonnummern identifizieren und formatieren".
mfG
man muss anhand irgendwelcher Merkmale (Position des /, Länge, Art der Vorwahl...) identifizieren, was mit der Nummer geschehen soll und sie dann entsprechend auseinandernehmen.
Es geht nicht anders, als alle möglichen Fälle zu identifizieren und entsprechend abzuhandeln.
Das was Du tust, wenn Du eine Formel anschaust und dann entscheidest, wie Du die aufbereiten willst, das musst Du als Formel formulieren können.
Ob man das mit Calc-Formeln macht oder besser ein Makro programmiert, kann ich Dir nicht sagen.
Aber so oder so:
Die Fallmerkmale und was dann jeweils geschehen soll, musst Du definieren. Es gibt keine Funktion "beliebige Telefonnummern identifizieren und formatieren".
mfG
Re: Telefonnummern formatieren
Hey, super Lösungsansätze,
Ich kenne eine korrekte kanonische Formatierung zwar unter +43(1)3456-789, aber auch das bekommt man ja damit hin. Wenn wirklich bei allen Rufnummern das Format so passt, dass der Slash die Vorwahl von der Rufnummer trennt, dann ist das ok. Ansonsten brauchst Du eine Vorwahlentabelle um die Abtrennung der Vorwahl sauber zu bekommen. Ich will hier mal einfach skizzieren, wie ohne Abtrennung der Vorwahl ein Format +4313456789 erreicht werden kann, auch wenn internationale Nummer dabei sind. Im Beispiel gehen wir mal davon aus, dass der Standort Wien ist.
Niels
Ich kenne eine korrekte kanonische Formatierung zwar unter +43(1)3456-789, aber auch das bekommt man ja damit hin. Wenn wirklich bei allen Rufnummern das Format so passt, dass der Slash die Vorwahl von der Rufnummer trennt, dann ist das ok. Ansonsten brauchst Du eine Vorwahlentabelle um die Abtrennung der Vorwahl sauber zu bekommen. Ich will hier mal einfach skizzieren, wie ohne Abtrennung der Vorwahl ein Format +4313456789 erreicht werden kann, auch wenn internationale Nummer dabei sind. Im Beispiel gehen wir mal davon aus, dass der Standort Wien ist.
- Alle Leerzeichen weg
Prüfen, ob die ersten beiden Stellen = "00", dann "00" weg und dafür + davor
Prüfen, ob die erste Stelle ="0", dann "0" weg und +43 davor
wenn alles nicht passt, dann ist es eine Ortsnetznummer -> +431 davor
Niels
Wer lesen kann ist klar im Vorteil.
Re: Telefonnummern formatieren
Hallo Paljass,
sorry für die späte antwort, aber ich hatte bis dato keine Zeit ins Forum zu gucken.
Leider ist es so, dass wie in meinem ersten Post geschrieben, die "0" vor der Vorwahl auch entfernt werden muss.
Wenn ich dies jedoch vernachlässige und zb. die erste Zeile deiner Lösung xmal kopiere und in die 1. Spalte alle meine Rufnummern eingebe, erscheint nur Kraut und Rüben.
Hast du die von mir überlieferten Daten manuell entweder in deine 1. oder 2. Zeile eingegeben oder nur deine 1. Zeile xmal kopiert und in Spalte 1 alle meine Nummern eingegeben?
Bin mit Deinem super Lösungsansatz schon so kurz vorm Ziel, aber es will noch nicht so richtig klappen
vielen Dank für Deine Hilfe.
Hier nochmal ein Auszug als Beispiel:
sorry für die späte antwort, aber ich hatte bis dato keine Zeit ins Forum zu gucken.
Leider ist es so, dass wie in meinem ersten Post geschrieben, die "0" vor der Vorwahl auch entfernt werden muss.
Wenn ich dies jedoch vernachlässige und zb. die erste Zeile deiner Lösung xmal kopiere und in die 1. Spalte alle meine Rufnummern eingebe, erscheint nur Kraut und Rüben.
Hast du die von mir überlieferten Daten manuell entweder in deine 1. oder 2. Zeile eingegeben oder nur deine 1. Zeile xmal kopiert und in Spalte 1 alle meine Nummern eingegeben?
Bin mit Deinem super Lösungsansatz schon so kurz vorm Ziel, aber es will noch nicht so richtig klappen

vielen Dank für Deine Hilfe.
Hier nochmal ein Auszug als Beispiel:
Code: Alles auswählen
02236/22732-0
01/2717552
07253/20090
01/4199644
02247/70161
01/7746828
01/5247400
07242/753-0
0316/225207-0
02626/630230
05512/3769
02272/68905
07582/63456
03136/55563
06542/53020-0
01/5874946
01/9112636
07732/3594
06452/5408-0
05244/62327
02168/67738
06274/6588
05212/3949
05522/71713-0
0662/640410-0
07229/72185-0
04276/2094-0
05232/21020
07289/8977
07286/8212-0
07242/47346
03113/2282-0
Re: Telefonnummern formatieren
Hallo
Ich habs mal als Formel für eine Zelle geschrieben:
oder etwas kürzer:
Gruß Karo
Ich habs mal als Formel für eine Zelle geschrieben:
Code: Alles auswählen
=LINKS(WECHSELN(A1;0;"+43 ";1);FINDEN("/";WECHSELN(A1;0;"+43 ";1))-1)&" "&TEXT(WECHSELN(RECHTS(A1;LÄNGE(A1)-FINDEN("/";A1));"-";"");WENN(LÄNGE(WECHSELN(RECHTS(A1;LÄNGE(A1)-FINDEN("/";A1));"-";""))<6;"### ##";"### ## ##"))
Code: Alles auswählen
="+43 "&TEIL(A1;2;FINDEN("/";A1)-2)&" "&TEXT(WECHSELN(TEIL(A1;FINDEN("/";A1)+1;99);"-";"");WENN(LÄNGE(WECHSELN(TEIL(A1;FINDEN("/";A1)+1;99);"-";""))<6;"### ##";"### ## ##"))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Telefonnummern formatieren
Hallo Palljass
Ok, Ich hab die Formel jetzt auf eine beliebige Anzahl von Nachwahlziffern ausgebaut.
Deine Endformel in Spalte K hinterlässt doppelte Leerzeichen, schachtele die evtl. in:
Gruß Karo
Ok, Ich hab die Formel jetzt auf eine beliebige Anzahl von Nachwahlziffern ausgebaut.
Code: Alles auswählen
="+43 "&TEIL(A1;2;FINDEN("/";A1)-2)&" "&TEXT(WECHSELN(TEIL(A1;FINDEN("/";A1)+1;99);"-";"");WENN(ISTUNGERADE(LÄNGE(WECHSELN(TEIL(A1;FINDEN("/";A1)+1;99);"-";"")));" #";"")&WIEDERHOLEN("## ";GANZZAHL(LÄNGE(WECHSELN(TEIL(A1;FINDEN("/";A1)+1;99);"-";""))/2)))
Code: Alles auswählen
=wechseln(......;" ";" ")
Zuletzt geändert von Karolus am Fr, 14.03.2008 21:05, insgesamt 3-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)