lunes, enero 06, 2014

Extraer una muestra aleatoria de datos de una lista en Excel

En una nota anterior mostré una técnica para extraer muestras aleatorias de listas en Excel. Esta técnica incluía el uso de las funciones ALEATORIO.ENTRE, INDICE, CONTARA y una columna auxiliar con la función CONTAR.SI.

Deambulando por la Internet me topé con esta técnica sugerida por Bob Umlas que usa Filtro Avanzado y la función ALEATORIO.

Como ya hemos visto Filtro Avanzado acepta el uso de fórmulas en el área de criterios, lo que le da una gran flexibilidad.

La idea en la técnica de Umlas es usar la fórmula "=ALEATORIO()<x" como criterio, donde "x" es un número mayor que 0 y menor que 1.

Por ejemplo, si queremos extraer una muestra que represente el 10% de la lista usamos "=ALEATORIO()<0.1"

En este ejemplo tenemos una lista de 100 nombres y queremos extraer una muestra aleatoria de 10



Esta técnica tiene un inconveniente: no siempre el resultado será el número esperado. En el ejemplo arriba se puede apreciar que hay 12 nombres en la muestra. Si aplicamos varias veces el filtro veremos que el tamaño de la muestra puede ser mayor o menor que 10.

Para solucionar este problema podemos repetir la acción hasta que la muestra extraída tenga el tamaño deseado. Para automatizar el proceso usamos una macro simple. Grabamos con el grabador de macros las acciones y la macro resultante la asociamos a un botón



Para ahorrarnos el trabajo de contar cuantos nombres hay en la muestra podemos agregar una celda de control con la función CONTARA()


2 comentarios:

  1. Buenos días Don Jorge. Me asalta una duda en el tema: la expresión que va en el criterio "=aleatorio()>0.5" puede dar como respuesta verdadero o falso. Cómo sabe excel con base a esta respuesta que nombre debe y no debe mostrar? Muchas gracias por sus aportes.

    ResponderBorrar
  2. Hola Carlos, gracias a tu comentario vi que había una error en la nota. La expresión tiene que ser =ALEATORIO<x, y no como aparecía.
    En cuanto a tu consulta, la fórmula que usamos como criterio crea un ventos de VERDADERO y FALSO. En el caso de "<0.1" el resultado es que aproximadamente el 10% de los valores serán VERDADERO y de aquí el número de filas que quedan visibles (o que son extraídas).

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.