combinations macro

  • Thread starter Thread starter steve @ mp-sd
  • Start date Start date
S

steve @ mp-sd

Does anyone have a macro that will take a column of
numbers and compare it against a total and generate a
list of possible combinations that equal the total? Any
help is greatly appreciated. -Steve
 
Hi
if you have many numbers in your column this won't be feasible (too
many combinations to calculate).
 
If you are looking for a single solution (Not necessarily the only one) to a
group of numbers that meet a target number, then this can possibly be done quite
simply with Solver.

Assuming range of numbers in A1:A30, add a set of 0s in B1:B30 and in say B31
put

=SUMPRODUCT(A1:A30*B1:B30)

Now do Tools / Solver / Set Target Cell 'B31' to 'value of' and put in your
target
number. Then, using the range selector under the 'By Changing cells' section,
select cells B1:B30 as the ones to change and hit enter which will take you back
to the first dialog box. Now hit the 'Add' button, and add the constraint that
B1:B30 must be 'bin' (Means binary as in 1 or 0, and it's one of the dropdowns,
so just hit the arrow and select 'bin') and just hit Solve. You MUST ensure
that in this example, when you add the 'bin' constraint range, you do not
inadvertantly include the formula cell B31, else you will get an error message
such as 'Binary Contsraint cell reference must include only adjustable cells'

Won't do any more than single solution, but for a Finance Dept that will often
suffice in this context.

There is also helpful tutorial at http://www.solver.com/stepbystep.htm
which walks you through an interesting scenario and explains what you can do
with the tool.

If you are going to look for more than one target number in the data, then with
that formula in say B31, in B32 type the target number, and in B33 put =B32-B31.
Now have Solver solve B33 = to 0 with the same constraints. Saves having to
change any values in Solver that way, just type what you want in B32.

Looks quite neat too if you format B1:B30 to a white Font and then use
conditional formatting to highlight values in Col A where Val in Col B = 1
 
Back
Top