2017-07-26 3 views
0

Ich möchte eine Super-Ersatz-Funktion in Excel erstellen (wenn es so etwas gibt). Für meine Bedürfnisse ist Verschachtelung nicht ausreichend, da meine Vertretungsliste lang ist.Mehrere ersetzen oder ersetzen Text in Excel mit einer Tabelle

Was ich tun möchte, ist eine benannte Tabelle mit zwei Spalten für die Funktion, die als Nachschlag für mögliche Ersetzungen verwendet werden soll. Die erste Spalte enthält den Originaltext und die zweite Spalte enthält den Ersetzungstext.

Sample Data

Wenn wir bei dem obigen Beispiel sehen, bestehen die Spalt R und S von meinem Tisch, mit Spalte R wie der ursprünglichen Text, den ich mit dem entsprechenden Zeileneintrag in der Spalte S ersetzt wollte, gefunden, wenn in meine Liste. Meine Daten in Spalte V sind die Liste, an der ich arbeiten möchte. Ich möchte, dass die Formel in Spalte W den entsprechenden Eintrag in Spalte V betrachtet und in der Tabelle nach Übereinstimmungen innerhalb des Textes sucht. Wenn es eine Übereinstimmung gibt, dann möchte ich, dass der Text von Spalte R durch den Text in Spalte S ersetzt wird. In einigen Fällen kann es zwei Übereinstimmungen geben, wie im oberen Beispiel von "LHR: JFK", das idealerweise durch "LON" ersetzt werden sollte : NYC ".

Es gibt Möglichkeiten, dies mit VBA zu tun, aber ich würde gerne wissen, ob es eine Excel-Formel-Option für das gleiche gibt wie ich nicht weiß, wo mit VBA zu beginnen.

Ihre Hilfe wird sehr geschätzt.

Danke, Neha

Antwort

1

Dies wird tun, wie Sie fragen:

=SUBSTITUTE(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3),IFERROR(VLOOKUP(RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3),R:S,2,FALSE),RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3))) 

enter image description here

+0

Dank für die Formel. Es funktioniert, aber ich bemerkte, dass, wenn nichts aus der Nachschlagetabelle übereinstimmt, die Formel nur den gleichen Wert wie in der Zelle aus Spalte V zurückgibt. Gibt es eine Möglichkeit, eine leere Zelle zurückzugeben, wenn nichts aus der Nachschlagetabelle übereinstimmt. Zum Beispiel sollte 'MAN: AMS' eine leere Zelle zurückgeben, anstatt 'MAN: AMS' zurückzugeben. – nehshere

+0

Diese Spezifikation war nicht in Ihrer ursprünglichen Frage, oder habe ich etwas vermisst? –

+0

Nein, du hast nichts verpasst. Ich entschuldige mich dafür, dass ich es vorher nicht bemerkt habe. Mit der aktuellen Formel ersetzt es einen oder beide Codes in der Zelle in Spalte V, wenn sie mit der Tabelle übereinstimmen. Ich würde gerne ein weiteres Bit hinzufügen, so dass, wenn keiner der beiden Codes mit irgendetwas in der Tabelle übereinstimmt, eine leere Zelle zurückgegeben werden sollte. Entschuldigung für die zusätzliche Arbeit. Ihre Hilfe wird sehr geschätzt. – nehshere

Verwandte Themen