Ordnen Sie die Spalte neu an, um die besten Kombinationen zu finden, die 5000 oder zwei und drei Zellen entsprechen vba

Ordnen Sie die Spalte neu an, um die besten Kombinationen zu finden, die 5000 oder zwei und drei Zellen entsprechen vba

Ich habe versucht, einen VBA-Code zu finden, um die Spalten so neu anzuordnen, dass sie unserem Ziel entsprechen. Ich weiß, dass Solver vielleicht eine Lösung ist, konnte aber weder im Internet noch in Excel eine Lösung finden. Beispiel:

Bildbeschreibung hier eingeben

Ein VBA wird ausgeführt und dann etwa wie folgt umgestaltet:

Bildbeschreibung hier eingeben

Das gewünschte Ergebnis ist, dass jede Zeile 5000 ergibt, die Zahl darf nur einmal verwendet werden. Wenn Sie eine Idee haben, geben Sie uns bitte einen Rat. (Bitte ignorieren Sie das Additionsergebnis, es dient nur der Erklärung)

Antwort1

Die Lösung erfolgt über einen Solver mit der Methode der kleinsten Quadrate.

Bildbeschreibung hier eingeben

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

Formeln:

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)

Solver-Parameter:

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

Die gefundene Lösung im Screenshot.

verwandte Informationen