Alles außer Zahlen loswerden (Microsoft Excel)
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 von Formeln zu entfernen. Wenn sich die zu ändernden Werte in Spalte A befinden, können Sie in Spalte B die folgende (sehr lange) Formel eingeben:
=MID(A1,MATCH(TRUE,ISERROR(1MID(A1,ROW(INDIRECT ("1:"&LEN(A1))),1)),0),-MATCH(TRUE,ISERROR(1MID (A1,ABS(ROW(INDIRECT("1:"&LEN(A1)))-LEN(A1)-1),1)) ,0)+LEN(A1)+2-MATCH(TRUE,ISERROR(1*MID(A1,ROW (INDIRECT("1:"&LEN(A1))),1)),0))
Stellen Sie sicher, dass Sie dies als Array-Formel eingeben, indem Sie Strg + Umschalt + Eingabetaste drücken. Geben Sie dann Folgendes in Spalte C ein:
=SUBSTITUTE(A1,B1,"")
Das Ergebnis ist, dass Spalte C die Werte aus Spalte A ohne die Alpha-Zeichen enthält. Sie können Paste Special verwenden, um die Informationen aus Spalte C in eine andere Spalte zu kopieren, sodass Sie anstelle der Formelergebnisse 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 (3840) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: