Tabla de contenido
Aprenda fórmulas y métodos sin fórmulas para recortar espacios en blanco, eliminar símbolos especiales (incluso los primeros/últimos N caracteres) y las mismas cadenas de texto antes/después de ciertos caracteres de varias celdas a la vez.
Eliminar la misma parte del texto de varias celdas a la vez puede ser tan importante y complicado como añadirlo. Aunque conozcas algunas de las formas, seguro que encuentras otras nuevas en la entrada del blog de hoy. Comparto un montón de funciones y sus fórmulas ya preparadas y, como siempre, dejo la más fácil -sin fórmulas- para el final ;)
Fórmulas para Google Sheets para eliminar texto de las celdas
Voy a empezar con las funciones estándar para Google Sheets que eliminarán las cadenas de texto y los caracteres de las celdas. No existe una función universal para esto, por lo que proporcionaré diferentes fórmulas y sus combinaciones para varios casos.
Hojas de cálculo de Google: eliminar espacios en blanco
Los espacios en blanco pueden colarse fácilmente en las celdas después de la importación o si varios usuarios editan la hoja al mismo tiempo. De hecho, los espacios de más son tan comunes que las Hojas de cálculo de Google cuentan con una herramienta especial de recorte para eliminar todos los espacios en blanco.
Sólo tienes que seleccionar todas las celdas de Google Sheets en las que quieras eliminar los espacios en blanco y elegir Datos> Recortar espacios en blanco en el menú de la hoja de cálculo:
Al hacer clic en la opción, todos los espacios iniciales y finales de la selección se eliminarán por completo, mientras que todos los espacios adicionales entre los datos se reducirán a uno:
Eliminar otros caracteres especiales de cadenas de texto en Google Sheets
Por desgracia, Google Sheets no ofrece ninguna herramienta para "recortar" otros caracteres que no sean espacios, por lo que tendrás que recurrir a las fórmulas.
Sugerencia: o utilice nuestra herramienta en su lugar: Power Tools liberará su rango de cualquier carácter que especifique en un clic, incluidos los espacios en blanco.
Aquí he abordado con hashtags antes de los números de apartamento y números de teléfono con guiones y corchetes en el medio:
Utilizaré fórmulas para eliminar esos caracteres especiales.
La función SUBSTITUTE me ayudará con eso. Normalmente se utiliza para sustituir un carácter por otro, pero puedes darle la vuelta y sustituir los caracteres no deseados por... bueno, nada :) En otras palabras, eliminarlos.
Veamos qué argumento requiere la función:
SUBSTITUTE(texto_a_buscar, buscar_para, sustituir_con, [número_ocurrencia])- buscar_texto es el texto a procesar o una celda que contiene ese texto. Obligatorio.
- buscar es ese carácter que quieres encontrar y borrar. Obligatorio.
- sustituir_por - un carácter que insertará en lugar del símbolo no deseado. Obligatorio.
- número_ocurrencia - si hay varias instancias del carácter que busca, aquí puede especificar cuál sustituir. Es completamente opcional, y si omite este argumento, todas las instancias se sustituirán por algo nuevo ( sustituir_por ).
Así que vamos a jugar. Tengo que encontrar un hashtag ( # ) en A1 y sustituirlo por "nada", que en las hojas de cálculo se marca con comillas dobles ( "" Con todo esto en mente, puedo construir la siguiente fórmula:
=SUSTITUIR(A1, "#","")
Consejo: el hashtag también está entre comillas dobles, ya que así es como se deben mencionar las cadenas de texto en las fórmulas de Google Sheets.
A continuación, copia esta fórmula en la columna si Google Sheets no ofrece la posibilidad de hacerlo automáticamente, y obtendrás tus direcciones sin los hashtags:
Pero, ¿qué ocurre con los guiones y los corchetes? ¿Debes crear fórmulas adicionales? En absoluto! Si anidas varias funciones SUSTITUIR en una fórmula de Google Sheets, eliminarás todos estos caracteres de cada celda:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#",""),"(",""),""),"-","")
Esta fórmula elimina los caracteres uno a uno y cada SUSTITUTO, empezando por la mitad, se convierte en el rango a buscar para el siguiente SUSTITUTO:
Sugerencia. Además, puede envolver esto en ArrayFormula y cubrir toda la columna de una vez. En este caso, cambie la referencia de celda ( A1 ) a sus datos en la columna ( A1:A7 ):
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""),"(",""),")",""),"-",""))
Eliminar texto específico de las celdas de Google Sheets
Aunque puedes utilizar la función SUSTITUIR de Google Sheets antes mencionada para eliminar texto de las celdas, me gustaría mostrarte también otra función: REGEXREPLACE.
Su nombre es un acrónimo de 'regular expression replace'. Y voy a utilizar las expresiones regulares para buscar las cadenas a eliminar y sustituirlas por ' nada" ( "" ).
Sugerencia: si no te interesa utilizar expresiones regulares, al final de esta entrada de blog describo una forma mucho más sencilla.
Consejo: si buscas formas de encontrar y eliminar duplicados en Google Sheets, visita esta entrada del blog. REGEXREPLACE(texto, expresión_regular, sustitución)
Como puede ver, la función tiene tres argumentos:
- texto - es donde se busca la cadena de texto a eliminar. Puede ser el propio texto entre comillas dobles o una referencia a una celda/rango con texto.
- expresión_regular - tu patrón de búsqueda que consiste en varias combinaciones de caracteres. Estarás buscando todas las cadenas que coincidan con este patrón. Este argumento es donde ocurre toda la diversión, si se me permite decirlo.
- sustitución - una nueva cadena de texto deseada.
Supongamos que mis celdas con datos también contienen el nombre del país ( US ) en distintos lugares de las celdas:
¿Cómo me ayudará REGEXREPLACE a eliminarlo?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
La fórmula funciona exactamente así:
- escanea el contenido de la celda A1
- para buscar coincidencias con esta máscara: "(.*)US(.*)"
Esta máscara indica a la función que busque el US independientemente del número de caracteres que precedan a (.*) o siga (.*) el nombre del país.
Y toda la máscara se pone entre comillas dobles según las exigencias de la función :)
- el último argumento - "$1 $2" - es lo que quiero conseguir en su lugar. $1 y $2 cada uno representa uno de esos 2 grupos de personajes - (.*) - del argumento anterior. Deberías mencionar esos grupos en el tercer argumento de esta forma para que la fórmula pudiera devolver todo lo que posiblemente esté antes y después del US
En cuanto a la US mismo, simplemente no lo menciono en el 3er argumento - es decir, quiero devolver todo de A1 sin el US .
Sugerencia: hay una página especial a la que puede remitirse para construir varias expresiones regulares y buscar el texto en distintas posiciones de las celdas.
Consejo: en cuanto a las comas restantes, la función SUBSTITUTE descrita anteriormente te ayudará a eliminarlas ;) Incluso puedes encerrar REGEXREPLACE con SUBSTITUTE y resolverlo todo con una sola fórmula:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",")
Eliminar texto antes/después de ciertos caracteres en todas las celdas seleccionadas
Ejemplo 1. Función REGEXREPLACE para Google Sheets
Cuando se trata de deshacerse de todo lo que hay antes y después de ciertos caracteres, REGEXREPLACE también ayuda. Recuerde que la función requiere 3 argumentos:
REGEXREPLACE(texto, expresión_regular, sustitución)Y, como mencioné arriba cuando introduje la función, es la segunda la que debes usar correctamente para que la función sepa qué encontrar y eliminar.
Entonces, ¿cómo puedo eliminar las direcciones y mantener sólo los números de teléfono en las celdas?
Esta es la fórmula que utilizaré:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Esta es la expresión regular que utilizo en este caso: ".*\n.*(\+.*)"
En la primera parte - .*\n.* - Utilizo barra invertida+n para saber que mi celda tiene más de una fila. Así que quiero que la función elimine todo lo que hay antes y después de ese salto de línea (incluyéndolo).
La segunda parte entre paréntesis (\+.*) dice que quiero mantener intacto el signo más y todo lo que le sigue. Tomo esta parte entre paréntesis para agruparla y tenerla en cuenta para más adelante.
Ver también: Cómo hacer un gráfico de líneas en ExcelConsejo. La barra invertida se utiliza antes del signo más para convertirlo en el carácter buscado. Sin ella, el signo más sería sólo una parte de la expresión que representa a otros caracteres (como hace un asterisco, por ejemplo).
- En cuanto al último argumento - $1 - hace que la función devuelva el único grupo del segundo argumento: el signo más y todo lo que le sigue (\+.*) .
Del mismo modo, puede eliminar todos los números de teléfono y conservar las direcciones:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Sólo que esta vez, le dices a la función que agrupe (y devuelva) todo lo que está antes del salto de línea y elimine el resto:
Ejemplo 2. RIGHT+LEN+FIND
Hay algunas funciones más de Google Sheets que te permiten eliminar el texto anterior a un carácter determinado. Son RIGHT, LEN y FIND.
Nota: Estas funciones sólo son útiles si los registros que se deben conservar tienen la misma longitud, como los números de teléfono en mi caso. Si no es así, utilice REGEXREPLACE en su lugar o, mejor aún, la herramienta más sencilla que se describe al final.
Usando este trío en un orden particular me ayudará a obtener el mismo resultado y eliminar todo el texto antes de un carácter - un signo más:
=DERECHA(A1,(LEN(A1)-(FIND("+",A1)-1)))
Permítanme explicarles cómo funciona esta fórmula:
- FIND("+",A1)-1 localiza el número de posición del signo más en A1 ( 24 ) y resta 1 para que el total no incluya el propio más: 23 .
- LEN(A1)-(FIND("+",A1)-1) comprueba el número total de caracteres de A1 ( 40 ) y le resta 23 (contados por FIND): 17 .
- Y luego DERECHA devuelve 17 caracteres desde el final (derecha) de A1.
Lamentablemente, esta forma no ayudará mucho a eliminar el texto después del salto de línea en mi caso (borrar números de teléfono y mantener direcciones), porque las direcciones son de diferente longitud.
Bueno, no pasa nada. De todas formas, la herramienta del final hace mejor este trabajo ;)
Eliminar los N primeros/últimos caracteres de las cadenas en Google Sheets
Cuando necesites eliminar un cierto número de caracteres diferentes del principio o del final de una celda, REGEXREPLACE y DERECHA/IZQUIERDA+LEN también te ayudarán.
Nota: Dado que ya he introducido estas funciones anteriormente, voy a ser breve en este punto y proporcionaré algunas fórmulas ya preparadas. O si lo prefieres, puedes recurrir a la solución más sencilla que se describe al final.
Entonces, ¿cómo puedo borrar los códigos de estos números de teléfono? O, en otras palabras, eliminar los 9 primeros caracteres de las celdas:
- Utilice REGEXREPLACE. Cree una expresión regular que encuentre y elimine todo hasta el noveno carácter (incluido ese noveno carácter):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Consejo: para eliminar los últimos N caracteres, basta con intercambiar los grupos en la expresión regular:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- RIGHT/LEFT+LEN también cuentan el número de caracteres que hay que borrar y devuelven la parte restante del final o del principio de una celda respectivamente:
=RIGHT(A1,LEN(A1)-9)
Consejo: para eliminar los 9 últimos caracteres de las celdas, sustituya DERECHA por IZQUIERDA:
=LEFT(A1,LEN(A1)-9)
- Por último, pero no por ello menos importante, está la función SUSTITUIR. Le dices que tome los 9 caracteres empezando por la izquierda y los sustituya por nada ( "" ):
=REEMPLAZAR(A1,1,9,"")
Nota: dado que REEMPLAZAR requiere una posición inicial para procesar el texto, no funcionará si necesita eliminar N caracteres del final de una celda.
Eliminación de texto específico en Google Sheets sin fórmulas - Complemento Power Tools
Funciones y todo eso está muy bien cuando se tiene tiempo libre, pero ¿sabe que existe una herramienta especial que engloba todas las formas mencionadas y lo único que hay que hacer es seleccionar el botón de opción deseado? :) Sin fórmulas, sin columnas adicionales... no se podría desear un compañero mejor ;D
No tiene que creerme, instale Power Tools y compruébelo usted mismo:
- El primer grupo te permite eliminar varias subcadenas o caracteres individuales desde cualquier posición en todas las celdas seleccionadas a la vez:
Otra herramienta de Power Tools que elimina las unidades de fecha y hora de las marcas de tiempo se llama Split Date & Time:
¿Qué tiene que ver la herramienta de división con la eliminación de unidades de fecha y hora? Bueno, para eliminar la hora de las marcas de tiempo, seleccione Fecha ya que es una parte que desea mantener y también tachar Sustituir datos de origen como en la captura de pantalla anterior.
La herramienta extraerá la unidad de fecha y sustituirá toda la marca de tiempo por ella. O, en otras palabras, este complemento para Google Sheets eliminará la unidad de tiempo de la marca de tiempo:
Puedes disponer de todas estas funciones y de más de 30 más para ahorrar tiempo en las hojas de cálculo instalando el complemento desde Google Store. Los primeros 30 días son completamente gratuitos y totalmente funcionales, así que tienes tiempo para decidir si te merece la pena la inversión.
Si tienes alguna pregunta relacionada con cualquier parte de esta entrada del blog, ¡nos vemos en la sección de comentarios más abajo!