Números aleatorios únicos con Excel

sábado, junio 16, 2007

En mi nota sobre Cómo generar números aleatorios con Excel mostraba cómo generar una serie de números aleatorios únicos, es decir, sin repeticiones. Esta técnica se basaba en un generar intencionalmente una referencia circular.
Hay, por supuesto, otras posibilidades que detallo en este archivo




1 – "Unique Numbers": Microsoft propone un macro para generar números aleatorios únicos. Esta macro siempre pone los resultados a partir de la celda A3 (en el original desde la celda A1, pero la he modificado para poder poner el comando en el encabezamiento).

2 – "RndNum": no recuerdo de que foro tome esta macro.

3 – "UDF" (user defined function): tomada del sitio de Ozgrid. Esta es una función volátil, es decir, cada vez que se produce algún cambio en la hoja, Excel recalcula la función. El resultado aparece como texto en al celda que contiene la función.

4 – "MRAND": mi favorito. Esta función forma parte del complemento desarrollado por Laurent Longre que ya he mencionado en mi nota sobre la función INDIRECTO con cuadernos Excel cerrados. Esta función tiene muchas ventajas. Al ponerla como función matricial, nos permite definir una matriz (x filas X y columnas) de números aleatorios no repetidos. Además podemos definir si la función debe ser volátil o no. La sintaxis es:
{=MRAND(máximo, inicio, cantidad, volátil o estática)}.

Este archivo contiene los ejemplos y los códigos de las macros.




Technorati Tags:

11 comments:

negro berna 24 noviembre, 2007 18:02  

he construido un formato de preguntas a mis estudiantes, de tal manera que ellos se acerquen al computador y oprimiendo pregunta, esta se muestre de forma aleotaria. el problema es que caundo los alumnos eligen la respuesta, la pregunta tamb{en se modifica, por que el aleatorio as{i lo hace. que debo hacer para que esto no suceda.

Jorge L. Dunkelman 25 noviembre, 2007 21:48  

Esto se debe a que ALEATORIO es una función de tipo volátil. Estas funciones son recalculadas cada vez que alguna fórmula de la hoja es recalculada. Por eso, cuando el alumno elige la respuesta, se dispar el cálculo de la función y aparece otra pregunta.
La única solución que se me ocurre es usar macros para poner la pregunta aleatoria como texto en una celda y no como el resultado de una función en la hoja.

Anónimo,  02 diciembre, 2010 16:00  

Ante todo me gusta mucho tu blog. Felicidades.
Me gustaría bajar el archivo rand01, con los ejemplos y no soy capaz. Da error. Snips tiene como un gestor de descargas, que salió, al dar a download. Me arriesgue a instalarlo y tampoco. -). En fin a ver si me puedes hechar un cable....

Jorge L. Dunkelman 02 diciembre, 2010 18:14  

Así es, eSnips se ha vuelto imposible. Estoy pasando de a poco los archivos a mu i propio sitio. Estaré poniendo el enlace en esta nota en las próximas horas.

Anónimo,  22 diciembre, 2010 01:52  

Hola Jorge
Otra posibilidad sin macros ni UDF sería combinar la función aleatorio y jerarquía. Eso sí, habría que tener una columna auxiliar.
Por ejemplo para una lotería primitiva en España (elegir 6 números entre 49) podríamos hacer lo siguiente:
De A1 a A49 ponemos la fórmula:
=ALEATORIO()
Y en otra columna, por ejemplo en C1, ponemos:
=JERARQUIA(A1;$A$1:$A$49)
Y autorrellenamos hasta C6
Con todos los decimales que genera la función ALEATORIO (del orden de 15 o 16), yo diría que es prácticamente imposible que se repitan.

Un saludo y feliz 2011

Anónimo,  13 julio, 2011 18:23  

Buenos dias. Exepcional el foro.

No puedo ulitizar la funcion MRAND no logro encontrar el complemento. Tenes el linck de descarga directo?

Lucas.

Jorge L. Dunkelman 13 julio, 2011 20:29  

Lucas

en el párrafo donde menciono la función MRAND (4) hay un enlace a la nota anterior donde, a su vez, hay un enlace para descargar el complemento.

Una aclaración: esto no es un foro, es un blog.

Anónimo,  14 julio, 2011 17:30  

Jorge,

Muchas gracias. Perdon por mi error.

Desde en ese link no esta mas el archivo. Igual lo puede conseguir.

Nuevamente muchas gracias.

Rubén Arturo 26 julio, 2011 02:22  

Hola,
Te felicito por tu Blog, es excelente. ¿la función MRAND esta disponible para 2010? no la he podido hacer trabajar con el complemento 2007

Jorge L. Dunkelman 26 julio, 2011 07:00  

Según lo publicado por Laurent Longre en la página de descarga, el complemento MoreFunc funciona también en Excel 2007. Supongo que también en Excel 2010.
Te sugiero que descargues el complemento actualizado.

Anónimo,  14 marzo, 2012 15:25  

Fantástico! Me salvaste!!! Mil gracias

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP