Estoy usando Excel para Mac 2011.
Para un proyecto de lingüística quiero hacer lo siguiente. Tendré una lista de palabras como esta (en realidad será mucho más grande):
Lista maestra:
- Bolsa
- Pierna
- Imán
- Manzana
- Chicle
Primero, copio y pego las palabras en una hoja nueva. Luego, creo números aleatorios (usando RAND) en una columna adyacente. Para obtener una lista aleatoria, uso SORT, para ordenar la lista de palabras por el valor de los números creados aleatoriamente.
- Bolsa .011234123
- Pierna .001324234
- Imán .01324243
- manzana .013245588
- Goma .0123412341
Ordenar por COLUMNA DE NÚMEROS
ESTO ME ENTIENDE:::
Aleatorización 1:
- Chicle
- Imán
- Manzana
- Bolsa
- Dejar
Tendré varias aleatorizaciones. Supongamos que quiero cambiar una palabra. ¿Hay alguna manera de hacer que la aleatorización dependa de la lista maestra? Es decir, si hago un cambio en la lista maestra (cambio una palabra), ¿hay alguna manera de que estos cambios también se realicen en mi aleatorización?
Respuesta1
Podría sugerir una solución usando una combinación de RAND(), RANK() y VLOOKUP():
Primero, crea tu lista maestra:
Luego agregue una columna que genere un número aleatorio usando RAND()
:
Luego, una columna que usará RANK() para clasificar esos números aleatorios:=RANK(E2,E:E)
Finalmente, use ROW() y VLOOKUP() para devolver los rangos ordenados:=VLOOKUP(ROW()-1,C:D,2,0)
Cualquier palabra que agregue a la lista maestra hará que cada RAND() se vuelva a calcular, lo que luego cambiará la clasificación, creando esencialmente un nuevo orden aleatorio.
Repita esto tres veces para las tres listas aleatorias que necesita.
Respuesta2
Suponiendo que sus datos están en la Hoja 1 comenzando en A1 y ordenados por la columna B, que es el número aleatorio, coloque esta fórmula comenzando en la fila 1 y autocomplétela hacia abajo:
=INDEX(Sheet1!A$1:A$6,ROW())
Simplemente se utiliza ROW()
para incrementar el row_num
argumento de INDEX()
a medida que se completa.
O, si no desea ordenar, pruebe esta fórmula:
=INDEX(Sheet1!A$1:A$6,MATCH(LARGE(Sheet1!B$1:B$6,ROW()),Sheet1!B$1:B$6,0))
Éste es un poco más divertido. Nuevamente se usa ROW()
para incrementar automáticamente, se usa LARGE()
para encontrar el siguiente número aleatorio más grande y luego INDEX/MATCH
devolver la palabra en esa posición.
Tenga en cuenta que RAND()
es volátil, lo que significa que se volverá a calcular cada vez que se calcule su hoja de trabajo. Recomiendo usar el cálculo manual si vas a utilizar este método.