Excel: Multiple Ersatz ohne Verschachtelung und ohne VBA - Excel, Substitution

Ich habe Zellen mit Daten, die ich entfernen möchte. Die Zellen sehen typischerweise so aus:

alm1 105430_65042M
1993_5689IB
ALM99 3455 344C
0001_4555Alm5

Einige, aber nicht alle Zellen enthalten einen Text wie "Almj", wobei "j" eine positive ganze Zahl ist. Ich möchte diesen Teil entfernen. Ich möchte, dass die Ausgabe so aussieht:

105430_65042M
1993_5689IB
3455 344C
0001_4555

So etwas funktioniert

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"alm1",""),"ALM99",""),"Alm5","")

Aber für meinen vollständigen Datensatz würde ich das brauchenmehrere hundert tiefe geschachtelte Funktion, weil mein "alm" manchmal in Großbuchstaben und manchmal nicht und die ganze Zahl kann von 1 bis 100 variieren. Dies scheint wie eine schmerzhafte Möglichkeit, dies zu tun.

Gibt es einen Weg, auf den ich achten kann?Text in einer Spalte (so kann ich eine Spalte in einem anderen Blatt haben, die gerade von Alm, Alm1, ..., Alm100 geht) und dann auch bitten, Großschreibung zu ignorieren und dann nur Zeug zu ersetzen?

Ich habe versucht, auf eine Spalte $ M $ 1: $ M $ 100 im zweiten Argument der Funktion Substitute zu verweisen, aber es funktioniert nicht.

SUBSTITUTE(A2,$M$1:$M$100,"")

Wo die Spalte M "alm" alm1 ", ...," alm100 "usw. enthält

Antworten:

2 für die Antwort № 1

Dies sollte für Sie funktionieren. Es wurden die erwarteten Ergebnisse Ihrer bereitgestellten Beispieldaten zurückgegeben:

=IF(COUNTIF(A2,"*alm*")=0,A2,TRIM(SUBSTITUTE(A2&" ",MID(A2&" ",SEARCH("alm",A2),FIND(" ",A2&" ",SEARCH("alm",A2))),"")))

1 für die Antwort № 2

Excel hat miese Funktionen für die Zeichenfolgenverarbeitung. Reguläre Ausdrücke würden diese Aufgabe viel einfacher machen.

In JavaScript ist es so einfach wie:

string.replace(/ *alm[0-9]+ */gi,"")

Dies macht eine globale (g) Groß- / Kleinschreibung (i) von allem mit:

  • 0 oder mehr Leerzeichen
  • gefolgt von "alm" (in jedem Fall)
  • gefolgt von 1 oder mehr Zahlen
  • gefolgt von 0 oder mehr Leerzeichen

Sie können Ihre Daten in die einfügen HTML Box in dieser Geige, und es wird es beheben:

http://jsfiddle.net/xs71bvan/2/