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