¿Cómo extraer solo texto de una string alfanumérica en Excel?

La mayoría de las veces recibimos «campos de ID» como strings alfanuméricas. Tenemos que extraer solo el texto de los «campos de ID» para continuar con el proceso.  

En este artículo, utilizamos dos enfoques (fórmula de Excel: función de sustitución y VBA de Excel: función definida por el usuario) para extraer texto solo de strings alfanuméricas.

Enfoque 1: Uso de la fórmula de Excel

La declaración del problema discutida anteriormente se puede resolver utilizando fórmulas de Excel incorporadas como se explica a continuación:

Sintaxis:

SUBSTITUTE (text, old_text, new_text, [instance_num])

Dónde,

  • texto: Es la celda de entrada (texto).  
  • old_text: Es el texto a buscar.
  • new_text: Es el texto a reemplazar.

Implementación:

Paso 1: abre Excel.

Paso 2: escriba cualquier string alfanumérica en la celda «B5» (por ejemplo, geeksId345768).

Paso 3: escriba la fórmula a continuación en la celda «C5» (usamos la función de sustitución anidada para reemplazar los números 0 a 9)

= SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(B5,"0",""),"1",""),"2",""), "3",""),"4",""),"5",""), "6",""),"7",""),"8",""),"9","")

Enfoque 2: función definida por el usuario de Excel VBA

En Excel VBA podemos definir funciones para resolver el enunciado del problema. A continuación se proporciona una implementación para el mismo.

Implementación:

Paso 1: abre Excel.

Paso 2: escriba cualquier string alfanumérica en la celda «B5» (por ejemplo, geeksId345768).

Paso 3: Escriba debajo del código VBA en el módulo:

Function onlyText(rg As Range) As String

Dim ipVal As String
Dim opValue As String
  • Inicializar variable
ipVal = rg.Value
  • Iterar la string de entrada
For i = 1 To Len(ipVal)
  •  Verifique que el carácter sea numérico o no
   If Not IsNumeric(Mid(ipVal, i, 1)) Then
       opValue = opValue & Mid(ipVal, i, 1)
   End If
Next
  • Salida de retorno
onlyText = opValue
End Function

Paso 4: guarde su archivo de Excel como «Libro de trabajo habilitado para macros de Excel» [*.xlsm]  

Paso 5: Escriba el nombre de la función «=onlyText(B5)» en la celda «C5».  

Macro elimina todos los caracteres numéricos de la celda «B5» y vuelve a la celda «C5».

Publicación traducida automáticamente

Artículo escrito por sk123online y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *