Avatar billede Butterfly Ekspert
17. januar 2018 - 11:32 Der er 5 kommentarer

Kender summen

Hej
Jeg har en meget lang række tal, jeg kender summen af nogle af tallene. Findes der en formel noget VBA der kan vise hvilke tal der skal til for at opnå summen?
Avatar billede finb Ekspert
17. januar 2018 - 11:45 #1
Du kan skrive en vba,der gør dette:
De tal, du måske skal addere, skal du gange med
0 eller 1:

KendteTal + (tal1 * 0 eller 1) + (tal2 * 0 eller 1) + osv. = KendtSUM
Loop indtil formlen passer.
Avatar billede finb Ekspert
17. januar 2018 - 11:47 #2
17. januar 2018 - 12:05 #3
Det er ikke nogen triviel udfordring og der er rigtig mange kombinationer at teste.

Fandt et eksempel her:

https://stackoverflow.com/questions/21474022/which-combinations-of-numbers-in-a-set-add-up-to-a-given-total

Alternativt


First a little prep work....

A1:A1 (your list of values)
B1:B10 (leave blank)
C1: =A1*B1
(copy that fomula down through C10

C11: =SUM(C1:C10)

Now to use Solver....
Tools>Solver
Set Cell: C11
Equal to the Value of: 1173.76
By Changing Cells: B1:B10
Subject to the Constraints....
(click the add button and constrain B1:B10 to Binary)
Click [OK]
Click [Solve]

Excel will toggle cells B1:B10 between 1 and 0 until it comes up with a
combination that sums to 1,173.76

Does that help?

(fra https://www.excelforum.com/excel-programming-vba-macros/497950-find-sum-in-list-of-of-numbers.html)
Avatar billede Butterfly Ekspert
17. januar 2018 - 13:14 #4
Jeg ved desværre for lidt om Excel til at jeg kan få det til at virke. Men tak for hjælpen
Avatar billede jkrons Professor
17. januar 2018 - 23:10 #5
Problemet med Solver er, at den kun finder én løsning. Ikke alle, og der kan være mange forskellige tal, der giver samme sum, med mindre den oprindelige talrække er konstrueret, så en given sum kun kan opnås på én måde.

Der er fx uendeligt mange kombinationer af tal, der alle kan give summen 2.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester