Reorganice la columna para obtener las mejores combinaciones que equivalgan a 5000 o celdas de dos y tres vba

Reorganice la columna para obtener las mejores combinaciones que equivalgan a 5000 o celdas de dos y tres vba

He estado tratando de buscar un código vba para reorganizar la columna para que coincida con nuestro objetivo, sé que el solucionador es quizás una solución, pero no pude encontrar ninguna solución en la red o en Excel. ejemplo :

ingrese la descripción de la imagen aquí

Se ejecuta un vba y luego se reorganiza a algo como esto:

ingrese la descripción de la imagen aquí

El resultado deseado es que cada fila suma 5000, el número debe usarse solo una vez. Si tiene alguna idea, por favor aconseje. (Por favor ignore el resultado de la suma, es solo para la explicación)

Respuesta1

La solución mediante Solver utilizando el método de mínimos cuadrados.

ingrese la descripción de la imagen aquí

A2:B7, F1 - source data
C2:C7 - the result (initial values are 1 for all cells)

Fórmulas:

B8=SUM(B2:B7)
F2=ROUND(B8/F1,0)
F3=B8/F2
H2=IF(ROW()>$F$2+1,"",ROW()-1) - drag down till H7
I2=SUMIF($C$2:$C$7,H2,$B$2:$B$7) - drag down till I7
J2=IF(I2=0,0,(I2-$F$3)^2) - drag down till J7
J8=SUM(J2:J7)

Parámetros del solucionador:

Optimization: $J$8 => minimal value
Altered cells: $C$2:$C$7
Restrictions: $C$2:$C$7 is integer
              $C$2:$C$7 >= 1
              $C$2:$C$7 <= $F$2

La solución encontrada en la captura de pantalla.

información relacionada