Linda tiene una columna que contiene caracteres alfanuméricos. Necesita retener los caracteres numéricos y eliminar los alfabéticos. Por ejemplo, una celda puede contener 10003E111 y quiere terminar con 10003111.

Hay algunas formas de abordar este problema. Sin embargo, antes de continuar con cualquier solución, debe asegurarse de que no está tratando de cambiar algo que realmente no está roto. Por ejemplo, querrá asegurarse de que la «E» que aparece en el número no sea parte del formato del número; en otras palabras, una designación de exponenciación. Si es así, entonces realmente no desea eliminar el carácter porque terminará cambiando la naturaleza del número subyacente.

Si determina que los caracteres no forman parte del formato del número, primero puede intentar usar una fórmula para eliminar los caracteres alfabéticos.

Si los valores que desea cambiar están en la columna A, puede ingresar la siguiente fórmula en la columna B:

=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)

Asegúrese de ingresar esto como una fórmula de matriz presionando Ctrl + Shift + Enter. El resultado es que la columna B contiene los valores de la columna A, sin los caracteres alfabéticos. Puede usar Pegado especial para copiar la información de la columna B a otra columna de modo que termine con valores reales en lugar de resultados de fórmula.

Este enfoque puede funcionar muy bien para el uso a corto plazo en un solo libro de trabajo, pero si necesita hacer este tipo de procesamiento de datos con más frecuencia, entonces querrá crear una función definida por el usuario para realizar el procesamiento. Aquí tienes un ejemplo:

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

Utiliza esta función llamándola desde dentro de una celda de la hoja de trabajo:

=OnlyNums(A1)

La función devuelve un valor numérico. Si desea crear una macro aún más corta para realizar el procesamiento, considere lo siguiente:

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

Para usar esta función, use cualquiera de los siguientes en su hoja de trabajo:

=STRIPCHAR(A1)

=VALUE(STRIPCHAR(A1))

El primero devuelve una cadena de texto que consta de dígitos, el segundo devuelve la versión numérica de esa cadena.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (11750) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Getting_Rid_of_Everything_Except_Numbers [Deshacerse de todo excepto los números].