Het wegwerken van alles, behalve Numbers

Linda heeft een kolom die letters als cijfers bevatten. Ze moet de numerieke tekens de alfa die te behouden en te verwijderen. Bijvoorbeeld kan een cel 10003E111 bevatten en ze wil eindigen met 10.003.111.

Er zijn een paar manieren waarop u kunt dit probleem aan te pakken. Alvorens zij tot enige oplossing is echter, moet u ervoor zorgen dat u niet probeert om iets dat niet echt gebroken is te veranderen. Bijvoorbeeld, zult u willen ervoor zorgen dat de "E", dat in het nummer verschijnt is geen onderdeel van het formaat van het nummer, met andere woorden, een aanwijzing van machtsverheffen. Als het is, dan heb je niet echt een teken wilt verwijderen, want het zal uiteindelijk het veranderen van de aard van de onderliggende nummer.

Als u vaststelt dat de personages zijn geen onderdeel van formaat van het nummer, dan kunt u eerst proberen met behulp van formules om de alfanumerieke tekens te verwijderen. Als de waarden die u wilt wijzigen zijn in kolom A, zou je de volgende (zeer lang) formule in kolom B in te voeren:

= MID (A1, MATCH (TRUE, ISERROR (1 * MID (A1, RIJ (INDIRECT
("1:" & LEN (A1))), 1)), 0), - MATCH (TRUE, ISERROR (1 * MID
(A1, ABS (RIJ (INDIRECT ("1:" & LEN (A1))) - LEN (A1 -1)), 1))
, 0) + LEN (A1) + 2-MATCH (TRUE, ISERROR (1 * MID (A1, ROW
(INDIRECT ("1" en LEN (A1))), 1)), 0))

Zorg ervoor dat u deze invoeren als een matrixformule door te drukken op Ctrl + Shift + Enter. Voer vervolgens het volgende in kolom C:

= Plaatsvervanger (A1, B1, "")

Het resultaat is dat kolom C bevat de waarden van kolom A, zonder alfanumerieke tekens. Je zou kunnen gebruiken Plakken speciaal om de informatie uit kolom C te kopiëren naar een andere kolom, zodat je uiteindelijk met de werkelijke waarden in plaats van formule resultaten.

Deze benadering kan grote werken voor gebruik op korte termijn op één werkboek, maar als je nodig hebt om dit soort dataverwerking vaker doen dan wil je naar een door de gebruiker gedefinieerde functie om de verwerking te doen maken. Hier is een voorbeeld:

Functie OnlyNums (zwaard als Koord)
Dim Schär als Koord
Dim x As Integer
Dim Stemp als Koord

Stemp = ""
Voor x = 1 To Len (zwaard)
Schär = Mid (zwaard, x, 1)
Als Asc (schar)> = 48 En _
ASC (schar) <= 57 Dan
Stemp = Stemp & Schär
End If
Volgende
OnlyNums = Val (Stemp)
End Function

U gebruikt deze functie door te bellen vanuit een werkblad cel:

= OnlyNums (A1)

De functie geeft een numerieke waarde. Wilt u een nog kortere macro te maken met de verwerking te doen, rekening met het volgende:

Functie StripChar (aText As String)
Dim I As Integer

StripChar = ""
Voor I = 1 To Len (aText)
Achar = Mid (aText, I, 1)
Selecteer Case Achar
Case "0" tot "9"
StripChar = StripChar & achar
Einde Select
Volgende
End Function

Om deze functie te gebruiken, gebruikt u een van de volgende in het werkblad:

= STRIPCHAR (A1)
= WAARDE (STRIPCHAR (A1))

De eerste opbrengsten een tekenreeks die bestaat uit de cijfers, de tweede geeft de numerieke versie van die string.

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (3840) is van toepassing op Microsoft Excel 97, 2000, 2002 en 2003. U kunt een versie van deze tip voor de ribbon-interface van Excel (Excel 2007 en later) vindt u hier: Het wegwerken van alles, behalve Numbers.