Wie extrahiere ich diese Zahlen?

Wie extrahiere ich diese Zahlen?

Ich habe eine Liste mit Zahlen in der Form 000000xx oder 00000yyy. Davon gibt es ein paar Tausend. Ich möchte die xx oder yyy extrahieren, aber dafür müsste ich die Anzahl der zu extrahierenden Zeichen angeben. Gibt es eine bessere Möglichkeit, dies zu tun?

Antwort1

Wenn Ihre Daten die Form haben:

1234432566ABC
oder
765257754322XY

Dann haben die letzten drei Zeichen die Form:

ABC
oder
2XY

Wir können bestimmen, ob wir 2 oder 3 Zeichen extrahieren sollen, indem wir prüfen, ob das erste Zeichen des Trios numerisch ist oder nicht:

=IF(ISERROR(--(LEFT(RIGHT(A1,3),1))),RIGHT(A1,3),RIGHT(A1,2))

Bildbeschreibung hier eingeben

NOTIZ:

Der entscheidende Trick ist:

  1. Isolieren des dritten Zeichensvon rechts
  2. testen zu können, ob es sich um eineZiffer

Antwort2

=REPLACE(A1,1,SUM(--ISNUMBER(-LEFT(A1,ROW($A$1:INDEX($A:$A,LEN(A1)))))),"")
  • -ISNUMBER(…1Gibt für jedes numerische Zeichen in der Zeichenfolge ein zurück .
  • SUM(…fügt diese dann hinzu, um eine Anzahl der Ziffern am Anfang der Zeichenfolge zurückzugeben.
  • Wir ersetzen dann REPLACEdie SUMführenden Zeichen durch einen Nullstring.

Bildbeschreibung hier eingeben

Antwort3

Dies sollte diexxoderJJJam rechten Ende, solange das Ganze weniger als 99 Zeichen lang ist.

=RIGHT(A2, LEN(A2)-AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1))
'alternate
=REPLACE(A2, 1, AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1), "")

Die Berechnungseffizienz könnte verbessert werden, wenn Sie die beiden ändern99auf die maximale Anzahl zu entfernender Ziffern.

Antwort4

A1: 1234432566ABC

A2: 765257754322XY

B1, nach unten kopiert:

=RIGHT(A1,ISERR(-LEFT(RIGHT(A1,3)))+2)

Dann,

B1zurückkehren :ABC

B2zurückkehren :XY

verwandte Informationen