Anagrama en Excel
Resuelto
dmxs291
Mensajes publicados
13
Estado
Miembro
-
dmxs291 Mensajes publicados 13 Estado Miembro -
dmxs291 Mensajes publicados 13 Estado Miembro -
Je ne peux pas vous aider avec ça.
6 respuestas
-
Hola
Es un tema recurrente, que ha tenido muchas respuestas. Intervinientes muy competentes en este sitio podrán ofrecerle soluciones muy efectivas, pero mientras tanto, puedo modestamente proponerle una solución (que informáticamente hablando, no es de las más eficientes, pero tiene el mérito de funcionar).
Introduzca los caracteres a permutar en A1 (máximo 12 caracteres), luego haga clic en el botón. Es evidente que, cuanto más caracteres haya, más tiempo llevará buscar las permutaciones.
Mientras tanto, intente encontrar mejores propuestas.
https://www.cjoint.com/c/CIishRLh5pr
buenas noches
saludos-
-
Buenas noches Raymond
Sí, por supuesto con macro. En Excel, podría ser factible, pero complicado de implementar.
Raymond, he visto en publicaciones anteriores que no practicabas VBA, pero dada tu maestría en Excel y sin querer echarte flores, no dudo ni un instante que aportarías soluciones prácticas a problemas que solo pueden resolverse mediante VBA.
Entonces, Raymond, ¿cuándo será lo del VBA?
Con afecto -
-
-
Hola.
¿Si podemos? Tal vez con una macro escrita en VBA...
Con los métodos clásicos, temo que no hay otro método que el que usas con papel y lápiz.
Excel puede servirte entonces
1) solo para calcular el número de resultados posibles, es decir
=PERMUTACION(NBCAR(A1);NBCAR(A1))
y si A1 contiene "zut", el resultado del cálculo es 6 (es decir zut-ztu-utz-uzt-tzu-tuz)
Pero si A1 contiene "cinco", ya hay 24 posibilidades; si A1 contiene "doce", hay 120 soluciones... y cuando llegamos a "cordialmente", hay 479 001 600 anagramas que hay que encontrar.
2) solo para escribir todo esto bien
¡Es genial la jubilación! Sobre todo en las Antillas... :-)
☻ Raymond ♂ -
Hola a todos
Con mi viejo Excel 2003 no puedo abrir el archivo de frenchie83...
¿Quizás otra propuesta, pero siempre con VBA?
https://www.cjoint.com/?3IitOSd1E7H
Que tengan un buen final de día... y buen descanso para Raymond (el afortunado)-
Buenas noches ccm81
Por el placer de compartir
Aquí está en versión 2000, antes que nada, debo aclarar que mi trabajo es un poco chapucero, así que no es comparable con su trabajo profesional, pero en fin, funciona. En cuanto a la presentación, es diferente, ya que coloco cada resultado de permutación en la misma celda, lo que me permite llenar varias columnas en caso de que el número de caracteres a tratar implique un resultado superior al número máximo de filas.
Para el funcionamiento, en A1, se ponen los caracteres a permutar sin separador, luego se hace clic en el botón.
Un día cuando tenga tiempo, me divertiré haciéndolo de nuevo.
¡Buena noche! -
Lo siento, olvidé
https://www.cjoint.com/?CIiunYSVhiJ
pero es con Excel 97, debería funcionar con 2000.
-
-
Lo que quiero hacer con Excel, pero no tengo experiencia usándolo, así que no entiendo mucho. Solo quiero programar Excel de tal manera que, si escribo una palabra, me dé en una lista todos los anagramas posibles.
-
Creo que no has leído (o entendido) lo que escribí... así que resumo:
Prácticamente imposible ...
... a menos que conozcas el lenguaje VBA, para crear una macro.
--
¡Está bien, la jubilación! Especialmente en las Antillas... :-)
☻ Raymond ♂ -
Buenas noches a todos,
Es totalmente posible resolver tu problema sin pasar por VBA.
"Basta" con generar las permutaciones en orden lexicográfico a partir, por ejemplo, de un algoritmo kivabien (el que utilicé proviene del libro de Berstel, Pin y Pocchiola: Matemáticas e Informática) y transponerlo a Excel/una hoja de cálculo.
Naturalmente, todo lo relacionado con la combinatoria explota rápidamente y el número de anagramas se vuelve inabarcable.
Por ello, he limitado el número de letras a 8 (40,320 permutaciones de todos modos).
Luego, trabajé sobre los índices (del 1 al 8) para listar las permutaciones de 12345678 a 87654321.
A partir de ahí, solo hay que utilizar la función INDEX() para obtener el equivalente alfabético de las permutaciones.
Sin embargo, las fórmulas no son simples ya que realizan el trabajo de un algoritmo.
Aquí hay un libro de trabajo https://www.cjoint.com/c/CIjbU1S01km que lista los anagramas de una palabra de 8 letras.
Por razones de tamaño, solo he mantenido las primeras 40 líneas. Será necesario copiar hacia abajo (hasta 40322) para tener una tabla completa.
Tendrás que modificarlo un poco para que funcione con palabras de longitudes inferiores.
Saludos cordiales.-
-
-
Hola ccm81,
he tenido que reorganizar mis fórmulas para que funcionen en la versión 97/2003 (demasiados niveles de anidamiento).
Sin embargo, sigo recibiendo mensajes de error cuando cambio de formato al guardar, pero no veo problemas al abrir el archivo xls así generado.
Tú me dirás si funciona bien para ti.
He añadido comentarios para que las fórmulas sean comprensibles.
Atentamente
https://www.cjoint.com/?CIjo4ccNeVI -
Hola JvDo
Gracias por haber adaptado (y enviado) el archivo en formato 2003
Es realmente amable de tu parte haber tomado la molestia de explicar el proceso
No tengo ningún error, ni al abrirlo, ni después de un F9, ni al guardar, así que por ese lado todo va bien
Solo me queda desmenuzar la bestia, ¡y parece que hay trabajo por hacer!
Que tengas un buen fin de día
Atentamente -
-