
Fórmula genérica
=INDEX(data,RANDBETWEEN(1,ROWS(data)),1)
Resumen
Para obtener un valor aleatorio de una tabla o lista en Excel, puede usar la función INDICE con la ayuda de las funciones RANDBETWEEN y ROWS.
En el ejemplo que se muestra, la fórmula en G7 es:
=INDEX(data,RANDBETWEEN(1,ROWS(data)),1)
Explicación
Nota: esta fórmula utiliza el rango con nombre "datos" (B5: E104) para mayor legibilidad y conveniencia. Si no desea utilizar un rango con nombre, sustituya $ B $ 5: $ E $ 104 en su lugar.
Para extraer un valor aleatorio de una lista o tabla, necesitaremos un número de fila aleatorio. Para eso, usaremos la función RANDBETWEEN, que genera un número entero aleatorio entre dos valores dados: un valor superior y un valor inferior.
Para el valor más bajo, usamos el número 1, y para el valor superior usamos la función FILAS para contar el total de filas en la tabla o lista:
=RANDBETWEEN(1,ROWS(data))
RANDBETWEEN devolverá un número aleatorio entre 1 y el recuento de filas en los datos, y este resultado se alimenta a la función INDICE para el argumento de filas. Para el argumento de las columnas, simplemente usamos 1, ya que queremos un nombre de la primera columna.
Entonces, asumiendo que RANDBETWEEN devuelve 7 (como en el ejemplo), la fórmula se reduce a:
=INDEX(data,7,1)
Lo que devuelve el nombre "Tim Moore", en la fila 7 de la tabla.
Tenga en cuenta que RANDBETWEEN volverá a calcular cada vez que se cambie o abra una hoja de trabajo.