Relleno aleatorio de tabla

Discute sobre la aplicación de hojas de cálculo

Relleno aleatorio de tabla

Notapor tate76 » Lun Nov 26, 2018 12:47 am

Buenas noches, tengo una duda que no se como solventarla, la expongo.
Tengo una listado de 10 palabras en una columna por otra parte 3 tablas de 2x2 cada una y me gustaría rellenar estas tablas de manera aleatoria con palabras del listado de la columna. Además no se deben repetir palabras en la misma tabla ni crearse dos tablas iguales.
La verdad es que no se si es posible pero cualquier ayuda será bien recibida.
OpenOffice 4.0.1 en Windows XP
tate76
 
Mensajes: 8
Registrado: Vie Feb 07, 2014 5:27 pm

Re: Relleno aleatorio de tabla

Notapor tate76 » Mar Nov 27, 2018 11:40 am

Otra vez por aquí.
Al final creo que he conseguido algo para hacerme el apaño, creo que no es muy limpio y que se podrá simplificar y optimizar muchísimo más así que si alguien se anima a darme alguna indicación mucho mejor.

Imagen

Explico un poco. EN las dos primeras columnas A y B es sencillo, una lista de 63 canciones y un numero para cada canción (clave). Las 3 columnas siguientes con el encabezado de aleatorio también es sencillo: Son tablas de 8 columnas y 63 filas en mi caso. Todas las celdas llevan aplicada la función =ALEATORIO(). Estos mismo he realizado en las 3 columnas y después he copiado los valores y pegado como texto sin formato.
Las siguientes 3 columnas con el encabezado jerarquía van asociadas con las columnas Aleatorio, esto es, la columna 1 de jerarquía va en función de la columna 1 aleatorio. Estas columnas llevan la función =JERARQUIA("primera valor de la celda 1 de la columna 1 aleatorio"; "matriz de la primera columna de Aleatorio Columna 1" ), lo que consigo es darle un valor entero a los números que se me han creado de forma aleatoria.

Segunda parte, coloco las canciones en otra tabla de forma aleatoria y "casi" automática:
Imagen

Ahora empiezo creandome una tabla de 3*8 mas los encabezados (lo importante son las celdas verdes y negras). Para asignarles valores a cada celda, me situo en la primera celda de cada cartilla y escribo el código =BUSCARV("primer valor de la columna "I" de la Columna Jerarquía 1 (31 en mi caso); " que busque ese valor en la matriz de las canciones y la clave ($A$4:$B$66 en mi caso "Agua que no has..."); "que coloque en la celda el nombre de la canción por eso el numero 2, el 1 equivale a la clave " 2; "el 0 es que lo lleve a FALSO" 0). Ya solo queda copiar esta celda al resto de mi tabla Cartilla 1 y aparece la cartilla rellena pero con el problema que puede repetir canciones, ya que puede haber coincidencia entre las 8 columnas que componen las cartillas.
Mi solución para quitar estas coincidencias ha sido crear un condicional en el menú Formato/Formateo condicional. EN la Condición ! la situo en "La fórmula es" y escribo el código "CONTAR.SI($'Bingo 3x8'.$BI$72(primera celda de la cartilla):$BP$76;BI73 (matriz de las celdas de la cartilla))>1" el cual me busca y marca todas las repetidas en la cartilla. En mi caso en "Estilo de celda" le cree uno que pusies el fondo de estas celdas repetidas en negro.
Ya por último y de forma manual porque no tenia ni idea de como hacerlo fui seleccionando estas celdas repetidas (y algunas más por diseño) de todas las cartilla creadas y borrarlas. Mi intención era situar en estas casillas que ya estan en negro un dibujo pero no se programarlo así que he tenido que tirar de programas de diseño.


Bueno si alguien tiene dudas encantado de resolverlas y si alguien tiene ideas de mejoras mas encantado todavía de ir probando. Y siento esta pedazo de "chapa" no soy muy buena explicando estás cosas.
Muchas gracias de antemano.


PD: Al final solo he usado dos columnas tanto de Aleatorio como de Jerarquía, la tercera no se ha utilizado.
OpenOffice 4.0.1 en Windows XP
tate76
 
Mensajes: 8
Registrado: Vie Feb 07, 2014 5:27 pm


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados