1. Esta comunidad utiliza cookies. Si continuas utilizando nuestra comunidad estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

Solucionado [Solucionado] Aleatorio entre 60 numeros sin repetir

Tema publicado en 'Temas resueltos' iniciado por GYT, 8 Jun 2010.

Estado del tema:
Cerrado para nuevas respuestas
  1. GYT

    GYT Usuario

    Reg:
    2 Jun 2010
    Mensajes:
    40
    Me Gusta recibidos:
    0
    Hola Como estan? Aqui vuelvo con otra consulta. Me gustaria que me ayuden para ingresar una formula que me de como resultado un numero aleatorio (es un sorteo) a cada participante En el ejemplo del adjunto son 60 participantes y yo quisiera que se le asigne un numero a cada uno (del 1 al 60) y por supuesto que no se repita ya que ese sera el numero de ingreso a la competencia. Gracias
     

    Adjuntos:

    Editado por moderación: 13 Jun 2010
  2. rebelchip

    rebelchip Nuevo Usuario

    Reg:
    9 Mar 2010
    Mensajes:
    18
    Me Gusta recibidos:
    0
    Re: Aleatorio entre 60 numeros sin repetir

    Buenas.

    Dificil tienes que no repita los valores, por que si no ya no sería aleatorio, primero poner la celdas donde van los números en formato en números y sin decimales.
    Formula: =RAND()*60 o =ALEATORIO()+60.

    Si se me ocurre algo te digo

    Saludos
     
  3. Nicotuc

    Nicotuc Moderador Staff AyudaExcel

    Reg:
    26 Ago 2008
    Mensajes:
    1.221
    Me Gusta recibidos:
    78
    Re: Aleatorio entre 60 numeros sin repetir

    Prueba con el adjunto
     
  4. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    ¡Hola!

    La forma más usual de hacer lo que quieres GYT (que no eres el primero con este problema :D), es aprovechar que la función aleatorio() arroja un número de 15 dígitos, así que le asignas un valor con aleatorio() a cada participante (lo que con mucha probabilidad le dará un valor aleatorio único a cada uno) y luego ordenas el resultado de menor a mayor. En el caso remoto de que se repita algún valor de aleatorio() para más de un participante, sólo presiona F9 para generar un nuevo orden.

    En el adjunto está. Es lo que ya te venía sugiriendo Nicolás en el archivo de él, sólo lo he elaborado un poco más :D.
     

    Adjuntos:

  5. Julibaga

    Julibaga Usuario

    Reg:
    23 Sep 2009
    Mensajes:
    2.377
    Me Gusta recibidos:
    115
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Saludos a todos.
    Al archivo de mjrofra, yo sólo le añadiría la columna B (los números) al lado del nombre de la columna M para que veas el número que le correspondería a cada persona.
     
  6. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Tomo nota de tu sugerencia Jilibaga, ahí va:
     

    Adjuntos:

  7. verzulsan

    verzulsan Incondicional de Ayuda Excel

    Reg:
    25 Oct 2009
    Mensajes:
    812
    Me Gusta recibidos:
    114
    Re: Aleatorio entre 60 numeros sin repetir

    Muy interesante mjrofra, es justo la idea que se me acababa de ocurrir para hacerlo con formulas, menos mal que vi tu post por que me iba a poner manos a la obra, parece que nuevamente tuve una idea que ya existia.

    Pongo para complementar el aporte de mjrofra una macro (se que es el foro de formulas) pero la estuve haciendo mientras pensaba como resolver el mismo problema en formulas y no ponerlo seria un desperdicio, devuelve siempre 60 valores distintos.

    Saludos!
     

    Adjuntos:

    • random.zip
      Tamaño de archivo:
      9,7 KB
      Visitas:
      191
  8. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Muy buena la macro Verzulsan, así sea el foro de fórmulas, habría sido un desperdicio que no la compartieras, ¡gracias!
     
  9. verzulsan

    verzulsan Incondicional de Ayuda Excel

    Reg:
    25 Oct 2009
    Mensajes:
    812
    Me Gusta recibidos:
    114
    Re: Aleatorio entre 60 numeros sin repetir

    Me alegra que no este fuera de lugar :)

    Por cierto, un aporte sobre tu archivo. No es necesaria la columna de verificacion. Cuando estuve estudiando programacion nos enseñaron como funciona la ejecucion de un numero aleatorio a nivel de computacion. Se comporta mas o menos como la funcion que he adjuntado antes, jamas se va a repetir un aleatorio dentro de una hoja, podeis hacer la prueba y dejarlo comprobando durante horas en la misma hoja, poniendole por ejemplo en worksheetchange, que si Suma de columna de unos es distinto de 60 que pare de generar aleatorios, la macro resultante es una macro infinita.

    Bueno, solo era esto, ahh y otra cosa, sobre el libro que he adjuntado, me he dado cuenta que funciona bien unas cuantas veces pero a la tercera o a la cuarta, se congela el excel. ¿Sabrias decirme a que se debe?, ¿Podria ser por que le faltan doevents?.

    Esto ultimo no es importante, solo curiosidad.

    Saludos
     
  10. German

    German Incondicional de Ayuda Excel

    Reg:
    10 Dic 2009
    Mensajes:
    3.286
    Me Gusta recibidos:
    258
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Hola a todos, he estado revisando el archivo, funciona super bien, pero tengo una duda, he leido todos los post, pero no llego a entender para que sirve este archivo, si al fin y al cabo el número que corresponde a cada persona siempre es el mismo, perdonad mi ignorancia, pero tengo curiosidad.

    Muchas gracias, y un saludo, Germán.
     
  11. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Germán, tienes razón , tal vez no sea muy claro cómo interpretar el resultado.

    Adjunto el archivo una vez más, creo que ahí entenderás cómo funcionaría Germán.
     

    Adjuntos:

  12. German

    German Incondicional de Ayuda Excel

    Reg:
    10 Dic 2009
    Mensajes:
    3.286
    Me Gusta recibidos:
    258
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Ok, muchas gracias Mauricio, ahora aunque parezca mentira se puede entender mejor, y así poder darle otra utilidad si llegara el momento.

    Un saludo, Germán.
     
  13. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Tienes toda la razón. Gracias a ti por ayudar a aclarar :D.
     
  14. GYT

    GYT Usuario

    Reg:
    2 Jun 2010
    Mensajes:
    40
    Me Gusta recibidos:
    0
    Re: Aleatorio entre 60 numeros sin repetir

    Muchas gracias a todos por su aporte Nicotuc, MJRofra, Julibaga, Verzulsan pero ahora pregunto a Verzulsan Hay alguna forma de utilizar ese sistema pero sin macro??? No se hacer un macro!!! Si es necesario lo empiezo a estudiar Es perfecto! No me cambia los numeros cuando ordeno, y ademas me da del 1 al 60. Sucede que todas los sorteos son con distintos numeros de participantes, pueden ser 45, 38, 12......por lo tanto no sabria como usar ese valioso macro que enviaste. Igual gracias a todos
     
  15. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Hola de nuevo... bueno, mientras Verzulsan llega, aprovecho que estoy por acá y dejo esta otra forma de hacerlo si lo quieres hacer con macros:

    CÓDIGO:
    Es necesario iniciar sesión o registrarse para ver este contenido.
    Esto creará una lista de 60 números aleatorios (del 1 al 60) a partir de la celda A1. Puedes modificar esas constantes para ajustar la macro según lo que quieras.
     
  16. verzulsan

    verzulsan Incondicional de Ayuda Excel

    Reg:
    25 Oct 2009
    Mensajes:
    812
    Me Gusta recibidos:
    114
    Re: Aleatorio entre 60 numeros sin repetir

    LOL!!!, Magia! xD, pero que crack, no se ni lo que hace la funcion, "index" aun es una asignatura pendiente para mi pero lo de "rank"? madre mia, lo unico que entiendo de todo eso es la primera linea: Range(Salida).Resize(Numeros).Formula = "=rand()"

    Estudiare el rank y el index para saber como diantes has hecho este truco, muy buena solucion Mauricio :D :rolleyes::rolleyes:

    Un saludo amigo.

    Verzulsan me parece que se ha quedado algo flipado jajaja

    EDIT: Aqui mi amigo el Clipo no me dice nada de rank xD, ya buscare ya

    EDIT2: Perdona GYT que no te contestara, estaba mirando el estupendo codigo de Mauricio. Sobre tus dudas de como acoplar esto a tu proyecto solo tienes que adjuntar como siempre un archivo de muestra para poder adaptar el codigo de Mauricio, como ves aqui la gente esta mas que dispuesta a ayudarte. Un saludo
     
    Última edición: 8 Jun 2010
  17. Fleming

    Fleming Moderador Staff AyudaExcel

    Reg:
    30 Sep 2008
    Mensajes:
    3.019
    Me Gusta recibidos:
    296
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Hola GYT

    Si como dices, sólo se trata de un sorteo (sin más) entre diversos participantes, no sería preciso asignar un número aleatorio a cada uno. Bastaría con el que ya tienen asignado en la columna B.

    Y habilitar una o varias celdas (según haya uno o varios premios) para el sorteo, con =ALEATORIO.ENTRE(1;....)

    Acompaño archivo
     

    Adjuntos:

    Última edición: 8 Jun 2010
  18. GYT

    GYT Usuario

    Reg:
    2 Jun 2010
    Mensajes:
    40
    Me Gusta recibidos:
    0
    Re: Aleatorio entre 60 numeros sin repetir

    Hola Agermán
    En mi archivo inicial tienen todos un numero pero que es en realidad para contarlos...es decir en ese momento solo se que son 60. Una vez que cierra la posibilidad de anotar mas gente (no se ...por ejemplo a las 14hs del dia viernes) se hace un sorteo que puede ser con testigos (los participantes o sus entrenadores) para determinar en que orden ingresan. Entonces los metodos que proponen...estan bien pero queda desprolijo ante la gente que no entienden y ven que pongo un 0,etc etc con 17 decimales y para colmo cuando lo quieren ver se cambia...jajaja parece una pelicula comica no??? entendes? El metodo de Versulzan con la macro es genial pero aun no se como puedo usarla. Un saludo
     
  19. GYT

    GYT Usuario

    Reg:
    2 Jun 2010
    Mensajes:
    40
    Me Gusta recibidos:
    0
    Re: Aleatorio entre 60 numeros sin repetir

    Fantastico, con esto tengo elementos para manejarme. Voy a empezar con la de Fleming que es la mas facil de entender para mi nivel mientras estudio como hacer el macro de Verzulsan como lo explica MJRofra. Ahh tambien voy autilizar la solucion de MJRofra sin macro. SON UNOS GENIOS...GRACIAS
     
  20. mjrofra

    mjrofra Moderador Staff AyudaExcel

    Reg:
    28 May 2009
    Mensajes:
    2.686
    Me Gusta recibidos:
    95
    Género:
    Masculino
    Re: Aleatorio entre 60 numeros sin repetir

    Hola Verzulsan,

    en realidad la idea para la macro fue gracias a ti, no hice más que aprovechar lo que tu mencionaste acá: http://www.ayudaexcel.com/foro/showthread.php?t=12329&p=59772&viewfull=1#post59772

    como ya te habrás dado cuenta, la macro lo que hace es ingresar la función aleatorio() en las celdas de acuerdo con la cantidad de datos que se quieran generar... luego, la función jerarquia (rank) hace el resto.

    Para entender un poco más lo que he hecho habría que revisar un poco el método evaluate... acá encuentras una primera explicación:

    http://www.todoexcel.com/foro-excel/post56262.html?#p51973

    acá encuentras una pequeña explicación al uso de evaluate en conjunto con la función indice (que es lo que he usado acá):

    http://www.ayudaexcel.com/foro/showthread.php?t=10990

    especificamente en esta respuesta a ese tema: http://www.ayudaexcel.com/foro/showthread.php?t=10990&p=51623&viewfull=1#post51623

    bueno, espero esos vínculos te den alguna idea de cómo funciona la macro que he escrito, que como digo, fue en realidad gracias a tu comentario que se me ocurrió.
     
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página