BDD

06/02/2009 - 02:02 por Noe´s | Informe spam
Hola a todos hace bastante no suplico la valiosa ayuda de cada uno de uds
pero hoy definitivamente necesito de su ayuda con lo siguiente tratare de ser
lo mas especifico y claro con lo que dire

Tengo una base compuesta con >5000 clientes los cuales debo repartir a 10 o
mas personas de cobranza el problema esta en que debo repartirlos con tal
equidad que debe casi cuadrar el total a cobrar de ejemplo 9 clientes tomando
en cuenta los dias de mora que tienen de atarzo, tratare de exponerlo:


A B C D E F
1 no # client Cliente mora Cobrar
2 1 10 Client 1 0-30 100
3 2 20 Client 2 31-60 200
4 3 30 Client 3 61-90 300
5 4 40 Client 4 0-30 400
6 5 50 Client 5 31-60 500
7 6 60 Client 6 61-90 600
8 7 70 Client 7 61-90 700
9 8 80 Client 8 61-90 800
10 9 90 Client 9 0-30 900


Debo asignar a cada agente casi o el mismo numero de cuentas puede variar de
1 a 5 cuentas como maximo y lo que definitivamente debe cuadrar es el monto
ejemplo si todos deben tener asignado 1 millon y otra podria ser 1 millon y
centavos mas, espero haber sido lo suficientemente claro en verdad si me
ayudan con esto les agradecere un monton ya que me lleva 1 dia haciendolo ya
que la forma en la que la estoy haciendo es filtrando por mora ( y son como
10 moras estamos hablando de mas de 1000 casos por mora) y asignar poco a
poco por medio se suma, gracias a todos desde ya. Espero su ayuda, saludos.


Noe´s
 

Leer las respuestas

#1 Héctor Miguel
06/02/2009 - 03:45 | Informe spam
hola, Noe !

tratando de seguir con lo "ilustrativo" de tu ejemplo, te sugeriria desarrollar una macro que haga +/- lo siguiente:

- definir si las personas tiene algun rango asignado en alguna hoja, o una hoja para cada uno (y sus rangos, etc.)
- definir una variable de matriz (tipo Variant) conteniendo o bien los rangos o bien las hojas de cada persona-cobrador
- ordenar tu listado completo en descendente por mora y monto
- hacer un bucle que recorra las filas del listado del tipo "For Fila = Inicio To Fin Step 10 ... Next"
- dentro del bucle, realizar la distribucion de la siguiente forma (siempre en la "siguiente fila libre" de cada cobrador):
a) si el ciclo es "par", deositar los valores en la matriz de izquierda a derecha
b) si el ciclo es "impar", depositar los valores en la matriz de derecha a izquierda

al final obtendras un reporte individual que se distribuyo en "zig-zag" (tratando de equilibrar la distribucion)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Tengo una base... con >5000 clientes... debo repartir a 10 o mas personas de cobranza
el problema esta en... repartirlos con... equidad que debe casi cuadrar el total a cobrar
de ejemplo 9 clientes tomando en cuenta los dias de mora que tienen de atarzo, tratare de exponerlo:
A B C D E F
1 no # client Cliente mora Cobrar
2 1 10 Client 1 0-30 100
3 2 20 Client 2 31-60 200
4 3 30 Client 3 61-90 300
5 4 40 Client 4 0-30 400
6 5 50 Client 5 31-60 500
7 6 60 Client 6 61-90 600
8 7 70 Client 7 61-90 700
9 8 80 Client 8 61-90 800
10 9 90 Client 9 0-30 900
... asignar a cada agente casi o el mismo numero de cuentas puede variar de 1 a 5 cuentas como maximo
... definitivamente debe cuadrar... el monto... todos deben tener asignado 1 millon y otra podria ser 1 millon y centavos mas
... me lleva 1 dia... la forma en la que la estoy haciendo es filtrando por mora
(y son como 10 moras estamos hablando de mas de 1000 casos por mora) y asignar poco a poco por medio se suma ...

Preguntas similares