Continuando con el post de Contar número de palabras en una celda, en el que un lector deseaba conocer el número de veces que se repetía cada letra del abecedario en el texto introducido en una celda, daré una opción de cálculo.
De manera muy similar a como definimos nuestra anterior función, introducimos en la celda D1:
=LARGO(A1)-LARGO(SUSTITUIR(A1;"a";""))
Vemos que seguimos empleando aquellas misma funciones LARGO(texto) y SUSTITUIR(texto; texto original; texto nuevo).
La explicación sería:
Si para automatizar dicho conteo, reemplazo el valor fijo "a" por una referencia a alguna celda podré calcular el número de veces que se repite cada letra del abecedario en el texto.
=LARGO(A1)-LARGO(SUSTITUIR(A1;C1;""))
Es importante resaltar que para Excel los caracteres con signos de acentuación son distintos a los que no lo llevan, por ejemplo, el caracter 'ó' es distinto de 'o'.
De manera muy similar a como definimos nuestra anterior función, introducimos en la celda D1:
=LARGO(A1)-LARGO(SUSTITUIR(A1;"a";""))
Vemos que seguimos empleando aquellas misma funciones LARGO(texto) y SUSTITUIR(texto; texto original; texto nuevo).
La explicación sería:
- con LARGO(A1) obtengo el número total de caracteres
- con LARGO(SUSTITUIR(A1;"a";"") obtengo el número de caracteres del texto después de eliminar todas las letra 'a' del texto de la celda A1; esto es, al sustituir en el texto original la letra "a" por 'nada' ("" en la fórmula).
- Obviamente, al restar la primera de la segunda obtengo, por diferencia entre la situación inicial y posterior tras la eliminación de la 'a', cuántas letras 'a' hay en el texto analizado.
Si para automatizar dicho conteo, reemplazo el valor fijo "a" por una referencia a alguna celda podré calcular el número de veces que se repite cada letra del abecedario en el texto.
=LARGO(A1)-LARGO(SUSTITUIR(A1;C1;""))
Es importante resaltar que para Excel los caracteres con signos de acentuación son distintos a los que no lo llevan, por ejemplo, el caracter 'ó' es distinto de 'o'.
Y SI QUISIERAMOS SEPARAR EN CELDAS INDIVIDUALES CADA UNA DE LAS PALABRAS QUE COMPONEN EL TEXTO CUAL SERIA LA FUNCION???
ResponderEliminarHola,
ResponderEliminarsoy partidario de llegar a una solución de la manera más rápida y con menos trabajo; asi que para contestar tu pregunta lo haría empleando la herramienta 'Texto en columnas'
http://excelforo.blogspot.com/2010/09/la-herramienta-de-excel-texto-en.html
De todas formas buscaré alguna solución con funciones.
Slds
Buen dia, como quedaria en codigo vba, pero de la siguiente manera, eliminar las letras finales repetidas, dejando solo 2 dos valores ejemplo "pensadores mexicanos petroleros", se quitarian las 2 ultimas letras e, una r, 2 letras o, una s.
ResponderEliminarEs posible.
Hola José Luis,
Eliminarquizá empleando algún tipo de sustitución o reemplazamiento...
No comprendo cuál es el criterio que expones, por lo que no puedo darte una solución clara
Slds
Hola Ismael, gracias por responder, a ver si me doy a explicar mejor, tengo la frase en la celda b5="pensadores mexicanos petroleros", necesito quitar todas las letrar repetidas, pero solo dejando las 2 primeras.
Eliminarpensadores mexicanos petroleros
pensadores mxican ptrl
(asi es como debe quedar despues de correr la macro).
Se eliminan las ultias letras repetidas solo dejando 2 de cada una al principio.
Hola,
Eliminarmás claro ;-)
gracias.
La idea sería aplicar un bucle que recorra cada letra, asociándole un contador particular... con algún condicional marcaríamos la regla de mantener si el contador es menor o igual a 2, desestimando las demás...
finalmente recomponemos con los caracteres que hayan quedado.
Esto sería un desarrollo.. por lo que espero te sirva la idea.
Saludos
si, gracias Ismael, ya tengo la idea. saludos
EliminarSi quisiera saber si un numero se repite 2 veces, como se hace. Por ejemplo si la celda A1=3435354, como hago para contar la cantidad de veces que esta el 5?
ResponderEliminarHola, qué tal, cómo estás?
EliminarUN placer saludarte igualmente
podrías:
=LARGO(A1)-LARGO(SUSTITUIR(A1;"5";""))
saludos