¿Cómo puedo hacer una función para que seleccione números y nombres de los datos de una tabla?

Hola!
Tengo una tabla con diferentes datos: nombres (del 1 al 1800 y códigos (del 1 al 1800)
La cuestión es que para cada nombre una vez ordenados le corresponde un solo código y ese código no se puede repetir para ningún nombre, ejemplo
Nombre: Fulanito1 Códigos: 1 - 2 - 3 - 4 - 9 - 52 -64 etc
Nombre Fulanito2 codigos: 1 - 2 - 52
Y ahora la cuestión es que la función deberíe seleccionar para Fulani1 el número 1 porque es el primero que ha puesto, para Fulanito2 como el uno ya lo tiene Fulanito1 pasaría al 2 que está libre y así sucesivamente..
¿Sería posible?
Gracias de antemano.

1 Respuesta

Respuesta
1
Necesito saber la disposición de los datos, es decir,
¿Están, después de ordenados, en dos columnas de la siguiente forma?
Fulanito1 1
Fulanito1 2
Fulaniro1 3
Fulanito1 4
Fulanito1 9
   Etc,
   Y siguen
Fulanito2 1
Fulanito2 2
Fulanito2 52
Dime si están en esa forma
En la misma fila Fulanito1 con su 1 y el 2, ... etc
Si están en esa forma, todos los de un mismo nombre seguidos en una columna (A)
Al lado (b) de cada uno el código
Puede darse que FulanitoX tenga códigos posibles 1,2,3 y estos tres ya están asignados
así que ninguno de esos códigos puede asiganrse a FulanitoX ¿cierto?
En una columna nueva, con la fórmula que sigue
puedes obtener el código que le corresponde a cada uno y en algunos caso te dirá NO
o sea, que no hay código de su lista disponible
Si FulanitoX tiene un NO, entonces en la siguiente le asignará su código si hay un siguiente FulanitoX con un código disponible, en caso contrario se queda con su NO
Los que tienen NO debes tu asignarle un código a tu criterio
=SI(ESERROR(BUSCARV(A3;$A$2:B2;2;0));SI(ESERROR(BUSCARV(B3;$D$2:D2;1;0));B3;"No");SI(D2="No";SI(ESERROR(BUSCARV(B3;$D$2:D2;1;0));B3;"No");D2))
La fórmula funciona desde el segundo dato en adelante
Al primero debes asignarle a mano un código
O sea, a Fulanito1 le corresponde 1
A los siguientes la fórmula dirá
Gracias por responder, pero te explico un poco más:
En la columna A están todos los Nombres, y a partir de la columna B hasta la columna BQY en cada celda hay un código del 1 al 1800
El primero Fulanito1 solo tiene una celda porque es el primero que elige
Fulanito2 tiene 2 códigos, es decir 2 celdas, si el primer código (1ª celda) coincide con la elección de Fulanito1 pasará al 2º código (2ª celda)
Así sucesivamente hasta Fulanito1800 que tiene las 1800 celdas rellenadas con códigos, lógicamente a Fulanito1800 se le asignará el código que ningún Fulanito haya elegido.
Gracias por la respuesta anterior
Ahora no entiendo
O lo que entiendo, no tiene mucha lógica
¿?
¿Tantas columnas como códigos tenga cada uno?
¿O es que lo estas modificando para tenerlos de esa forma?
[email protected]
Pregunta:
Si
Nombre: Fulanito1 Códigos: 1 - 2 - 3 - 4 - 9 - 52 -64 etc
Nombre Fulanito2 codigos: 1 - 2 - 52
Y a Fulanito1 le toca 1, y a Fulanito2 le corresponde el 2
¿Por qué el 2? ¿Por qué
es el MENOR de 1,2,52 quitando el 1?
¿O es porque
es el PRIMERO de la lista 1,2,52 quitando el 1?
OK, porque es el primero de la lista quitando el 1
Gracias por las molestias, ojalá me lo puedas resolver..
http://spreadsheets.google.com/ccc?key=pMMFzWx-2n0GyqhdZUL1wLg
En esa dirección trato de explicarte una solución, mirala y me avisas si es algo como eso lo que quieres ...
OK, le voy a echar una ojeada, gracias por tú tiempo.
Ya te diré.
Gracias
.
Simplemente PERFECTO, es justo lo que buscaba.
Muchas gracias por todo el tiempo que le has dedicado. Yo no lo hubiera sacado
MUCHAS GRACIAS eres un crack.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas