Linda hat eine Spalte, die alphanumerische Zeichen enthält. Sie muss die numerischen Zeichen beibehalten und die Alpha-Zeichen löschen. Zum Beispiel kann eine Zelle 10003E111 enthalten und sie möchte mit 10003111 enden.

Es gibt verschiedene Möglichkeiten, wie Sie dieses Problem angehen können. Bevor Sie jedoch mit einer Lösung fortfahren, sollten Sie sicherstellen, dass Sie nicht versuchen, etwas zu ändern, das nicht wirklich kaputt ist. Zum Beispiel sollten Sie sicherstellen, dass das „E“, das in der Zahl erscheint, nicht Teil des Formats der Zahl ist – mit anderen Worten, eine Bezeichnung für Potenzierung. Wenn dies der Fall ist, möchten Sie das Zeichen nicht wirklich entfernen, da dies die Art der zugrunde liegenden Zahl ändert.

Wenn Sie feststellen, dass die Zeichen nicht Teil des Zahlenformats sind, können Sie zunächst versuchen, die Alpha-Zeichen mithilfe einer Formel zu entfernen.

Wenn sich die zu ändernden Werte in Spalte A befinden, können Sie in Spalte B die folgende Formel eingeben:

=SUM(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1, ROW($1:$99),1))ROW($1:$99),),ROW($1:$99))+1, 1)10^ROW($1:$99)/10)

Stellen Sie sicher, dass Sie dies als Array-Formel eingeben, indem Sie Strg + Umschalt + Eingabetaste drücken. Das Ergebnis ist, dass Spalte B die Werte aus Spalte A ohne die Alpha-Zeichen enthält. Sie können Paste Special verwenden, um die Informationen aus Spalte B in eine andere Spalte zu kopieren, sodass Sie anstelle von Formelergebnissen tatsächliche Werte erhalten.

Dieser Ansatz eignet sich möglicherweise hervorragend für die kurzfristige Verwendung in einer einzelnen Arbeitsmappe. Wenn Sie diese Art der Datenverarbeitung jedoch häufiger ausführen müssen, sollten Sie eine benutzerdefinierte Funktion für die Verarbeitung erstellen. Hier ist ein Beispiel:

Function OnlyNums(sWord As String)

Dim sChar As String     Dim x As Integer     Dim sTemp As String

sTemp = ""

For x = 1 To Len(sWord)

sChar = Mid(sWord, x, 1)

If Asc(sChar) >= 48 And _           Asc(sChar) <= 57 Then             sTemp = sTemp & sChar         End If     Next     OnlyNums = Val(sTemp)

End Function

Sie verwenden diese Funktion, indem Sie sie aus einer Arbeitsblattzelle heraus aufrufen:

=OnlyNums(A1)

Die Funktion gibt einen numerischen Wert zurück. Wenn Sie ein noch kürzeres Makro für die Verarbeitung erstellen möchten, beachten Sie Folgendes:

Function StripChar(aText As String)

Dim I As Integer

StripChar = ""

For I = 1 To Len(aText)

aChar = Mid(aText, I, 1)

Select Case aChar             Case "0" To "9"

StripChar = StripChar & aChar         End Select     Next End Function

Um diese Funktion zu verwenden, verwenden Sie eine der folgenden Optionen in Ihrem Arbeitsblatt:

=STRIPCHAR(A1)

=VALUE(STRIPCHAR(A1))

Die erste gibt eine aus den Ziffern bestehende Textzeichenfolge zurück, die zweite gibt die numerische Version dieser Zeichenfolge zurück.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (11750) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.

Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: