Eliminar números antes de una letra sin espacios

Eliminar números antes de una letra sin espacios

Me gustaría eliminar los números, incluidos los dos puntos, de cada fila.

Datos de ejemplo:

22:18:01(165):access-list OUTSIDE_IN extended permit deny IP

Intenté usar la fórmula

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

pero no funcionó. Eliminó todo 22:18:01(165):access-listya que no hay espacio después de los últimos dos puntos.

Respuesta1

Suponiendo que todas sus filas se parezcan a su fila de ejemplo (específicamente, no hay dos puntos en la parte del texto que desea conservar), puede usar Texto en columnas para esto, especificando :como delimitador.

Selecciona la columna con tus datos y haz clic Text to Columnsen la Datapestaña.

Elija Delimiteden la primera pantalla, y en la segunda pantalla, solo marque Othere ingrese dos puntos:

Presione finalizar y sus datos ahora deberían dividirse en 4 columnas según cada dos puntos. Simplemente elimine las primeras 3 columnas y quedaráaccess-list OUTSIDE_IN extended permit deny IP


Alternativamente, suponiendo que el número de caracteres anteriores access-listes el mismo en cada fila, puede usar=RIGHT(A2,LEN(A2)-14)

Respuesta2

La solución de fórmula más simple que atiende a números de cualquier longitud se aplica al caso de un recuento fijo de números delimitados por dos puntos al comienzo de los datos, por ejemplo, para tres números:

Captura de pantalla de la hoja de trabajo

Ingrese la siguiente fórmula B2y presione Ctrl-Intro/copiar-pegar/rellenar/completar automáticamente en el resto de la columna de la tabla:

=RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),3)))

Explicación:

El cuarto argumento opcional SUBSTITUTE()nos permite sustituir una aparición específica del :carácter, en este caso el tercero, por un carácter especial que no aparece en ninguna otra parte del texto. CHAR(1)se utiliza ya que está prácticamente garantizadonuncaocurrir en cualquier cadena.

Esto da como resultado un segundo separador solitario donde los datos que deseamos conservar están a la derecha. Su RIGHT()fórmula ahora funcionará correctamente.

Tenga en cuenta que esta solución también funcionará incluso si hay dos puntos en el texto que desea conservar.


Una solución de fórmula más general, que permite unavariableEl recuento de :números delimitadores al inicio de los datos (así como números de cualquier longitud) es:

=RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))

Explicación:

El segundo SUBSTITUTE()elimina todos los dos puntos. La diferencia entre la longitud del texto original y la longitud del texto con los dos puntos eliminados es el recuento de los dos puntos.

Para los datos de muestra:

  • LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
    3.
  • Por lo tanto =RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
    =RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),3)))es decir, lo mismo que la primera fórmula (excepto que para la primera fórmula son 3los terceros dos puntos, mientras que en ésta son los dos puntos).últimocolon)

Obviamente, esta fórmulanofunciona correctamente si hay dos puntos en el texto que desea conservar.

información relacionada