miércoles, 19 de marzo de 2014

Generar columnas de aleatorios

Descargue el fichero columnas_de_aleatorios.xlsm

Deseamos generar columnas con números aleatorios. Tantos números aleatorios como se indique.

En la zona amarilla (B2:K2) disponemos de 10 números  con valores que van entre 1 y 20. La idea es generar debajo de cada celda amarilla tantos números aleatorios, con la función =ALEATORIO(), como indique el número. Así por ejemplo, si en la celda amarilla figura un 4 debajo queremos que se generen 4 números aleatorios.


El la celda B3 se ha de escribir la siguiente fórmula.

=SI($A2<=B$1;ALEATORIO();"")

Esta fórmula escribe un aleatorio en la celda si el valor de su fila (celda azul) es menor o igual a valor indicado en la celda amarilla correspondiente. En caso contrario escribe "" que son dos dobles comillas seguidas, con nada dentro. Esto equivale a celda vacía.

Con esto generaríamos la tabla de la izquierda. Luego hemos creado una macro denominada "Copia Valores" con un botón para lanzarla que lo que hace es copiar y pegar valores en la tabla de la derecha con el objeto de que queden números (sin fórmulas) ya que previsiblemente esto es lo que deseamos.





2 comentarios:

  1. Saludos.. sabe baje el archivo de Generar columnas de aleatorios, y estoy viendo el boton de la macro para copiar las cantidades pero sin formulas solo numeros...
    cada vez que le doy click al boton de la macro, me genera nuevos numeros al lado izquierdo y tambien al lado derecho, no se porque pasa esto...
    mi pregunta es, podria usar esta macro para en un archivo de excel me copie el toda la hoja con todos lo que tenga en ella a otra hoja pero sin formulas? solo claro, todo el formato con numeros y letras pero sin colores y sin formulas ?
    saludos y gracias

    ResponderEliminar
  2. Hola Boni.

    En la tabla de la izquierda tenemos fórmulas que generan números aleatorios. Cada vez que pulsa la tecla F9 de recálculo manual o escribe cualquier cosa en una celda se recalculan todos los valores.

    La macro que copia la tabla izquierda y la pega con pegado especial valores en la tabla derecha lo que hace es obligar a la tabla izquierda a recalcular nuevamente.

    Se podría emplear en copiar y pegar valores pero tendría que adaptar los rangos a los que necesite.

    Un cordial saludo.

    ResponderEliminar