Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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

Suchen-Ersetzen-Formel

Suchen-Ersetzen-Formel
28.11.2021 10:59:56
Florian
Moin,
kann ich per Formel ein Suchen/Ersetzen auch mit einem Art Muster machen?
Beispiel: Es sollen alle Zeichen aus einer Zelle entfernet werden, die keine Zahlen und keine Bindestriche sind.
Vielleicht ist es auch ganz einfach und ich steh grad auf dem Schlauch :D
Danke euch!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in Deiner XL-Version sollte es möglich sein...
28.11.2021 12:20:01
neopa
Hallo Florian,
... denn diese verfügt über die Funktion TEXTVERKETTEN().
Ich habe jedoch nur die XL-Version 2016 und kann es somit nicht testen.
Für einen beliebigen Text in A1 kann ich jedoch eine Matrix aus den von zugelassenen Zeichen zu einer Matrix "filtern", die mit TEXTVERKETTEN() entsprechend umklammert, das von Dir angestrebte Ergebnis liefern könnte.
Die Formel zur Ermittlung der zugelassenen Zeichenmatrix für einen beliebigen Text in A1 definiert sich z.B. so:
=WENNFEHLER(ZEICHEN(CODE(TEIL(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)));1))/(CODE(TEIL(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)));1))&gt44)/(CODE(TEIL(A1;ZEILE(A$1:INDEX(A:A;LÄNGE(A1)));1))&lt58));"")
Teste mal, indem Du diese Formel mal mit TEXTVERKETTEN() im richtigen Syntax umklammerst.
Gruß Werner
.. , - ...
Anzeige
AW: wenn es funktioniert, wäre noch möglich ...
28.11.2021 12:33:12
neopa
Hallo,
... mein Formelteil zu verkürzen, zu:
=WENNFEHLER(ZEICHEN(CODE(TEIL(A1;ZEILE(A$1:A$99);1))/(CODE(TEIL(A1;ZEILE(A$1:A$99);1))&gt44)/(CODE(TEIL(A1;ZEILE(A$1:A$99);1))&lt58));"")

Gruß Werner
.. , - ...
AW: Suchen-Ersetzen-Formel
28.11.2021 12:34:28
Daniel
Hi
Mit dieser Formel:
=TEXTVERKETTEN("";WAHR();WENN(ISTZAHL(FINDEN(TEIL(A1;SEQUENZ(LÄNGE(A1));1);"0123456789-"));TEIL(A1; SEQUENZ(LÄNGE(A1));1);""))
Gruß Daniel
Ergänzung...
28.11.2021 13:36:10
{Boris}
Hi,
...für`s Archiv für alle, die 365 (und somit SEQUENZ) noch nicht haben, aber TEXTVERKETTEN schon vorhanden ist:
{=TEXTVERKETTEN("";WAHR();WENN(ISTZAHL(FINDEN(TEIL(A1;SPALTE(1:1);1);"0123456789-"));TEIL(A1; SPALTE(1:1);1);"")) }
oder etwas performanter (dafür dann volatil) für Rudel-Abfragen:
{=TEXTVERKETTEN("";WAHR();WENN(ISTZAHL(FINDEN(TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1); "0123456789-"));TEIL(A1; ZEILE(INDIREKT("1:"&LÄNGE(A1)));1);"")) }
VG, Boris
Anzeige
AW: Ergänzung...
28.11.2021 14:10:09
Daniel
Wenns ein Performace-Problem gibt nimm nicht Spalte(1:1), sondern begrenze die Anzahl der Spalten auf die geschätzte maximale Länge der Texte, also Spalte(A1:Z1) der so.
Das erzeugt dann weniger Rechenaufwand.
Man muss ggf nur die Formeln nochmal kontrollieren, wenn man im verwendeten Bereich Spalten löscht, oder verschiebt, das der Bereich noch groß genug ist.
AW: Ergänzung...
28.11.2021 14:18:25
{Boris}
Hi Daniel,
...das hab ich doch mit der INDIREKT-Variante gemeint. Natürlich kann man auch Zeile(1:100) oder so nehmen - halt so viel, wie man maximal braucht.
Wollte nur die gute Formel auch für Nicht-365-Besitzer nutzbar/archivierbar machen.
VG, Boris
Anzeige
AW: Ergänzung...
28.11.2021 14:31:24
Daniel
Ja danke.
Indirekt ist halt volatil, was u.U. auch die Performance negativ beieinflussen kann.
Meistens reicht es aus, den Zellbereich ungefähr an die Textlänge anzupassen.
Das Spalte+Indirekt+Länge würde ich dann verwenden, wenn es bei Überlänge zu Fehlern kommt, die zu Problemen führen.
Gruß Daniel

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige