Office: Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!)

Helfe beim Thema Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!) in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Community, ich habe eine kleine Herausforderung, und hoffe, dass ich hier Hilfe finde. Gleich vorweg: Ich weiß, dass ich das alles mit einer VBA... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von OfficeUser, 1. Mai 2015.

  1. OfficeUser Neuer User

    Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!)


    Hallo Community,

    ich habe eine kleine Herausforderung, und hoffe, dass ich hier Hilfe finde.
    Gleich vorweg: Ich weiß, dass ich das alles mit einer VBA Programmierung lösen könnte, aber darum geht es mir hier nicht. Ich möchte wissen, ob es eine Möglichkeit gibt, das Ganze mit Excel-Formeln zu lösen.

    Nun zur Herausforderung:
    In Zelle A1 steht eine Zeichenkette. Die Zeichen dieser Zeichenkette sollen durch andere Zeichen ersetzt werden. Der Schlüssel dafür ist in den Spalten D (Urpsrungszeichen) und E (Ersetzung) gegeben. Mit SVerweis() und Teil() könnte ich ja einzelne Zeichen ansprechen und die Entsprechung finden, aber wie funktioniert das für eine beliebig lange Zeichenkette? Und auch Wechseln() wäre ganz nett, wenn es nicht gerade nur eine Begrenzung für 9 Vorgänge hätte.
    Habt ihr eine Idee, wie man das ohne aufwendige Zwischenschritte (also zusätzliche Zellen) lösen kann?

    Und dann käme noch eine kleine zusätzliche Frage. Angenommen ich würde alle Zeichen durch Zahlen ersetzen (Spalte F) wollen, und diese dann summieren, könnte ich das ähnlich realisieren?

    Die Ergebnisse der Zeichenersetzung bzw. Summenbildung stehen in Spalte B.

    Die Ersetzungsmatrix ist meist deutlich größer (30-60 Zeichen) und die Zahlen für die Summen sind dementsprechend auch nicht nur einstellig!

    Und hier zur Verdeutlichung die Tabelle.

     ABCDEF
    1ABCdef123xyz456!?_ Ax1
    2 45 By2
    3   Cz3
    4   d44
    5   e55
    6   f66
    7   1!7
    8   2?8
    9   3_9
    Excel Tabellen im Web darstellen >>

    :)
     
    OfficeUser, 1. Mai 2015
    #1
  2. OfficeUser Neuer User
    aufwendig, aber ich bin nicht der Formelmensch.

    Tabelle5
     ABCDEFG
    1ABCdef123xyz456!?_xyz456!?_ Ax1
    2 12345678945 By2
    3Quersumme45  Cz3
    4HTTP://WWW.excelformeln.de/formeln.html?welcher=112d44
    5    e55
    6    f66
    7    1!7
    8    2?8
    9    3_9
     verbundene Zellen 
    A4: D4
    verwendete Formeln
    Zelle Formel Bereich N/A
    B1=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSEL N($A;$E;$F);$E;$F);$E;$F);$E;$F);$E;$F);$E;$F);$E;$F );$E;$F);$E;$F)  
    B2=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSEL N(A1;E7;G7);E8;G8);E9;G9);E1;G1);E2;G2);E3;G3);E4;G4);E5;G5);E6;G6)  
    B3{=SUMME(TEIL(B2;ZEILE(INDIREKT("1:"&LÄNGE(B2)));1)*1)}$B 
    {} Matrixformel mit Strg+Umschalt+Enter abschließen
    Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
    Diese Klammern nicht eingeben!!

    Excel-Inn.de
    Hajo-Excel.de
    XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
    Add-In-Version 19.01 einschl. 64 Bit
     
    OfficeUser, 3. Mai 2015
    #2
  3. xl2003-: 8 Funktionsverschachtelungen in einer Zelle
    xl2007+: 64 Funktionsverschachtelungen in einer Zelle (ohne Gewähr)

    In beiden "Welten" unbegrenzt" (ohne Gewähr) mit Hilfszellen oder mit kaskadierenden benannten Formeln.

    Willst Du A in 1 wechseln und 1 in 14? Das ist einerseits ein Reihenfolgeproblem: Erst 1 tauschen, dann A - weil A wieder 1 wird.

    Andererseits ist die 14 als Ersatz höchst gefährlich, da ein späterer Ersatz von 4 sie wieder zerstört.

    Es braucht also einen sorgfältig designten Übergang - falls Du nicht NUR von Buchstaben NUR in Buchstaben wechseln möchtest.
     
    lupo1, 3. Mai 2015
    #3
  4. Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!)

    Hallo,

    danke für eure Antworten. Sie haben mich dazu gebracht nochmal etwas genauer nachzudenken.

    @Hajo_Zi:
    Du baust eine Wechseln() Formel auf. Für den aktuellen Fall ist das ganz nett, aber wenn ich evtl. 32 oder sogar bis zu 64 Ersetzungen habe, dann wird es sehr aufwändig das zu verformeln.
    Leider habe ich in dem "Summen"-Beispiel nur einstellige Zahlen. Was aber, wenn die Ersetzungen mit Zahlen >9 arbeiten? Dann funktioniert die Matrix-Formel mit der Summe leider nicht mehr.

    @lupo1:
    Du hast ein gutes Beispiel gebracht. Wenn A durch B ersetzt würde und B durch C, dann würde A durch C ersetzt werden, wenn es nacheinander durchgeführt wird... das stellt aber leider ein Problem bei jeder Ersetzung dar, nicht wahr?!

    Deshalb dachte ich daran, dass es vielleicht "sequentiell" möglich ist zu ersetzen via SVerweis oder so!? Sprich, die "Formel" beginnt beim ersten Zeichen, ersetzt es, und geht zum nächsten, ersetzt es, und geht zum nächsten... mit VB wäre das ja möglich, aber wie gesagt, das wollte ich eigentlich vermeiden.

    Scheint aber nicht anders zu funktioneren?! Oder?

    Viele Grüße
    Dr.A.Colian
     
    Dr.A.Colian, 14. Mai 2015
    #4
  5. Eine Formellösung ist recht schwierig.

    Wie wär es mit einer UDF?

    Ist zwar auch eine VBA-Lösung, die aber über Excel aufgerufen wird.

    Bsp-Aufruf in einer Zell:

    Für Umwandlung: =Convert_xlph($A1;$D$1:$F$9;2;0;0)
    Für Summenbildung: =Convert_xlph($A1;$D$1:$F$9;3;1;0)

    Für mehr Speed den Bereich ($D$1:$F$9) nach Spalte 1 aufsteigend sortieren.
    (Hilfreich bei vielen Aufrufen)

    Und folgende Aufrufe verwenden:

    Für Umwandlung: =Convert_xlph($A1;$D$1:$F$9;2;0;1)
    Für Summenbildung: =Convert_xlph($A1;$D$1:$F$9;3;1;1)

    Code:
    Wird bei der Umwandlung ein Zeichen nicht gefunden, wird anstelle des Zeichens "(?)" ausgegeben.
    Wird bei der Summenbildung ein Zeichen nicht gefunden, wird #NV zurückgegeben.
     
  6. Hallo,

    die UDF-Lösung im oberen Beitrag (#5) ist mangelhaft.

    VlookUp (Sverweis) unterscheidet nicht zw. Groß- und Kleinschreibung.

    Hiermit funktioniert es aber:

    Code:
    Bsp.-Aufruf in einer Zelle für Umwandlung:
    =Convert_xlph($A1;$D$1:$D$9;$E$1:$E$9)

    Bsp.-Aufruf in einer Zelle für Summenbildung:
    =Convert_xlph($A1;$D$1:$D$9;$F$1:$F$9;WAHR)
     
  7. Oder:
    Code:
    =convert_hsv($A1;$D$1:$D$9;$E$1:$E$9)
    oder:
    =convert_hsv($A1;$D$1:$D$9;$F$1:$F$9)
     
    HS(V), 15. Mai 2015
    #7
  8. Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!)

    \@HS(V)

    Warum benutzt du Find in einer UDF?

    Für den 1. Fund ist Find recht schnell; aber das Evaluate() bremst.
     
  9. \@xlph,

    Hemmt etwas, aber nicht spürbar hier..
     
    HS(V), 15. Mai 2015
    #9
Thema:

Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!)

Die Seite wird geladen...
  1. Mehrere Zeichen ersetzen nach "Vorgabe-Matrix" (kein VBA!) - Similar Threads - Zeichen ersetzen Vorgabe

  2. spezifisches Zeichen durch forlaufende Nummern ersetzen

    in Microsoft Word Hilfe
    spezifisches Zeichen durch forlaufende Nummern ersetzen: Hallo zusammen, ich möchte in einem Dokument nachträglich ein spezifisches Zeichen durch eine fortlaufende Nummerierung ersetzen. So sieht es aus: # Lorem ipsum dolor sit amet, consetetur...
  3. Zeichen an bestimmter Stelle einfügen (nicht ersetzen)

    in Microsoft Excel Hilfe
    Zeichen an bestimmter Stelle einfügen (nicht ersetzen): Guten morgen Jungs, In einer Exceltabelle geghe ich bestimmten Zeilen durch und wenn dort "2012" zu finden ist (Immer an Stelle 5-8), solte von links an Stelle 4 und an 2 ein Punkt eingeführt...
  4. Lange Zahlen als Text (E+ Fehler beim Ersetzen von Zeichen)

    in Microsoft Excel Hilfe
    Lange Zahlen als Text (E+ Fehler beim Ersetzen von Zeichen): Hallo, hab das Excel-Forum gesucht aber nichts passendes gefunden daher neues Thema. Mein Problem ist mit Sicherheit jeden von uns bekannt. Allerdings konnte ich keine lösung bis jetzt finden. Ich...
  5. Excel VBA Code: Ersetzen von Zeichen nach einer bestimmten Anzahl

    in Microsoft Excel Hilfe
    Excel VBA Code: Ersetzen von Zeichen nach einer bestimmten Anzahl: Hallo, ich habe eine Excel-Liste, die auf der Spalte F mit unterschiedlichen IDs befüllt ist. Die Länge der IDs ist auch unterschiedlich. Ich möchte nun folgendes per VBA Code tun: Ich möchte...
  6. Ersetzen des Zeichens *

    in Microsoft Excel Hilfe
    Ersetzen des Zeichens *: ich habe in einer Tabelle in mehreren Zellen das Zeichen *. Das möchte ich durch ein anderes ersetzen. Wenn ich nun aber bei suchen nach * und ersetzen durch X eingebe werden grundsätzlich alle...
  7. Ersetzen von <> durch die literarische Zeichen « »

    in Microsoft Word Hilfe
    Ersetzen von <> durch die literarische Zeichen « »: Wenn ich versuche, in einem literarischen Text die einfachen Klammern <> bei direkter Rede automatisch zu ersetzen durch die Doppelklammern « » kommen statt dessen immer nur die Anführungszeichen...
  8. Ersten 3 Zeichen ersetzen?

    in Microsoft Excel Hilfe
    Ersten 3 Zeichen ersetzen?: Hallo, ich bin absoluter Neuling was das Excel angeht. ich habe eine Tabelle und muss die ersten 3 Zeichen durch bestimmte gleichbleibende Zeichen ersetzen. aus 001-545987 mach 804-545987...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden