01. september 2020 - 13:40
#2
Du kan finde én løsning, men der kan være flere. Det kræver at du har Problemløser (Solver) tilføjelsesprogrammet installeret.
Hvis du har de 27 tal i A1 til A27 skal du bruge en hjælpekolonne, fx B1:B27.
I den celle, hvor du vil have dit bestemte resultat, skal du have en formel som denne:
=SUMPRODUKT(A1:A27;B1:B27)
Start nu problemløseren. Målsætningen skal være den celle, hvor du har SUMPPRODUKT formlen. Vælg Til Værdi af og indtast den værdi, du ønsker at finde.
Tilføj en begrænsning. Her vælger du B!:B27 og begrænsningen wer, at de skal være binære. Så skal du klikke på Løs og bare vente. Når Problemløseren er færdiog har den sat 1-taller i B-kolonnen ud for de tal, der giver den ønskede sum og 0 ud for resten.
Så kan du bruge fx betinget formatering til at markere cellerne i A-kolonnen. Marker hele A-kolonnen og vælg Betinget formatering. Vælg Ny regel og Brug en formel til at bestemme. Formelen skal være =B1=1. Klik ok.
Synes godt om
1 synes godt om dette
01. september 2020 - 13:45
#4
Med en Formel (eller flere) er det en meget ressource krævende opgave at finde de kombinationer som kan finde et givent tal. Og afhængig af størrelsen på tallet, skal kombinationerne øges.
Men, du kan gøre det med værktøjet "Solver", eller "Problemløser", som findes i Excel som tilføjelses program.
Gå ind i "Filer", "indstillinger", og klik på "Tilføjelsesprogrammer". Der ser du nu en liste med mulige tilføjelses programmer. Marker "Tilføjelsesprogrammet Problemløser", og klik "Ok".
Vælg nu igen, "Filer", "indstillinger", og klik på "tilføjelsesprogrammer".
Nederst i den side der kommer frem, klikker du på knappen "Udfør", som ses til højre for "Excel-tilføjelsprogrammer".
Der popper nu en lille boks op, hvor du nu kan se at "Tilføjelsesprogrammet problemløser" vises. Sæt et flueben i boksen, og klik Ok.
Tilføjelsen findes nu under "Data" oppe i menulinjen.
Og i kombination med en lille formel: =SUMPRODUKT(C2:C24;A2:A24)
som fortæller Solver hvor data findes, og hvor den skal markere de tal som er brugt i kombinationen.
Jeg har uploadet en lille fil, som viser tallene der indgår, og hvilke tal som Solver har brugt (markeret med et 1 tal).
https://www.dropbox.com/scl/fi/l1x0h4mk5jg875zruahhd/tal-kombination.xlsx?dl=0&rlkey=m95yzdmn6mb3ye9sa9gav1g02
Synes godt om
1 synes godt om dette
01. september 2020 - 22:41
#10
#9 - Jeg ved ikke lige hvad du mener med "hvilke tal" og "hvilken sum".
Tallet du ønsker at finde, angives jo i Solver menuen, og der er jo ikke nogen decideret sum, men det tal som kommer ud af Solver's gennemløb af de angivne beregningstal (i mit tilfælde i A kolonnen), og som i eksemplet, vises i B25. Og det tal er lig med det som man ønsker at finde kombinationer af, og sammenlagt (SUMPRODUKT formlen) af de kombinationer i A kolonnen, som Solver har brugt til at finde kombinationen med.
Jeg har i A kolonnen opstillet tal, som kan dække tal op til 10.000
Synes godt om
1 synes godt om dette
01. september 2020 - 23:09
#11
#10 Det er jeg med på, men det jeg mente var, at det kommer jo an på hvilke 27 tal, som OP har i sin liste. Er det fx 1 til 27, kan han ikke finde nogen, der giver 8418. Din liste er jo opbygget, så det kan lade sig gøre.
Jeg har opfattet OP som om det er en given liste over tal, der skal vælges fra.
Synes godt om
1 synes godt om dette
03. september 2020 - 14:52
#13
Sub Hit_8418
Dim Targett As Integer
Targett = 8418
Dim _
Tal_01, Tal_02, Tal_03, Tal_04, Tal_05, Tal_06, Tal_07, Tal_08, Tal_09, Tal_10, _
Tal_11, Tal_12, Tal_13, Tal_14, Tal_15, Tal_16, Tal_17, Tal_18, Tal_19, Tal_20, _
Tal_21, Tal_22, Tal_23, Tal_24, Tal_25, Tal_26, Tal_27 _
As Integer
'Indsæt selv dine egne tal:
Tal_01 = 4
Tal_02 = 6
Tal_03 = 7
Tal_04 = 9
Tal_05 = 11
Tal_06 = 14
Tal_07 = 19
Tal_08 = 20
Tal_09 = 24
Tal_10 = 26
Tal_11 = 30
Tal_12 = 33
Tal_13 = 35
Tal_14 = 37
Tal_15 = 41
Tal_16 = 42
Tal_17 = 44
Tal_18 = 47
Tal_19 = 51
Tal_20 = 55
Tal_21 = 59
Tal_22 = 62
Tal_23 = 63
Tal_24 = 67
Tal_25 = 69
Tal_26 = 80
Tal_27 = 85
Dim _
Multiplikator_01, Multiplikator_02, Multiplikator_03, Multiplikator_04, Multiplikator_05, Multiplikator_06, Multiplikator_07, Multiplikator_08, Multiplikator_09, Multiplikator_10, _
Multiplikator_11, Multiplikator_12, Multiplikator_13, Multiplikator_14, Multiplikator_15, Multiplikator_16, Multiplikator_17, Multiplikator_18, Multiplikator_19, Multiplikator_20, _
Multiplikator_21, Multiplikator_22, Multiplikator_23, Multiplikator_24, Multiplikator_25, Multiplikator_26, Multiplikator_27 _
As Integer
Dim _
Produkt_01, Produkt_02, Produkt_03, Produkt_04, Produkt_05, Produkt_06, Produkt_07, Produkt_08, Produkt_09, Produkt_10, _
Produkt_11, Produkt_12, Produkt_13, Produkt_14, Produkt_15, Produkt_16, Produkt_17, Produkt_18, Produkt_19, Produkt_20, _
Produkt_21, Produkt_22, Produkt_23, Produkt_24, Produkt_25, Produkt_26, Produkt_27 _
As Integer
For Multiplikator_01 = 0 To 1
Produkt_01 = Tal_01 * Multiplikator_01
For Multiplikator_02 = 0 To 1
Produkt_02 = Tal_02 * Multiplikator_02
For Multiplikator_03 = 0 To 1
Produkt_03 = Tal_03 * Multiplikator_03
For Multiplikator_04 = 0 To 1
Produkt_04 = Tal_04 * Multiplikator_04
For Multiplikator_05 = 0 To 1
Produkt_05 = Tal_05 * Multiplikator_05
For Multiplikator_06 = 0 To 1
Produkt_06 = Tal_06 * Multiplikator_06
For Multiplikator_07 = 0 To 1
Produkt_07 = Tal_07 * Multiplikator_07
For Multiplikator_08 = 0 To 1
Produkt_08 = Tal_08 * Multiplikator_08
For Multiplikator_09 = 0 To 1
Produkt_09 = Tal_09 * Multiplikator_09
For Multiplikator_10 = 0 To 1
Produkt_10 = Tal_10 * Multiplikator_10
For Multiplikator_11 = 0 To 1
Produkt_11 = Tal_11 * Multiplikator_11
For Multiplikator_12 = 0 To 1
Produkt_12 = Tal_12 * Multiplikator_12
For Multiplikator_13 = 0 To 1
Produkt_13 = Tal_13 * Multiplikator_13
For Multiplikator_14 = 0 To 1
Produkt_14 = Tal_14 * Multiplikator_14
For Multiplikator_15 = 0 To 1
Produkt_15 = Tal_15 * Multiplikator_15
For Multiplikator_16 = 0 To 1
Produkt_16 = Tal_16 * Multiplikator_16
For Multiplikator_17 = 0 To 1
Produkt_17 = Tal_17 * Multiplikator_17
For Multiplikator_18 = 0 To 1
Produkt_18 = Tal_18 * Multiplikator_18
For Multiplikator_19 = 0 To 1
Produkt_19 = Tal_19 * Multiplikator_19
For Multiplikator_20 = 0 To 1
Produkt_20 = Tal_20 * Multiplikator_20
For Multiplikator_21 = 0 To 1
Produkt_21 = Tal_21 * Multiplikator_21
For Multiplikator_22 = 0 To 1
Produkt_22 = Tal_22 * Multiplikator_22
For Multiplikator_23 = 0 To 1
Produkt_23 = Tal_23 * Multiplikator_23
For Multiplikator_24 = 0 To 1
Produkt_24 = Tal_24 * Multiplikator_24
For Multiplikator_25 = 0 To 1
Produkt_25 = Tal_25 * Multiplikator_25
For Multiplikator_26 = 0 To 1
Produkt_26 = Tal_26 * Multiplikator_26
For Multiplikator_27 = 0 To 1
Produkt_27 = Tal_27 * Multiplikator_27
If _
Produkt_01 + Produkt_02 + Produkt_03 + Produkt_04 + Produkt_05 + Produkt_06 + Produkt_07 + Produkt_08 + Produkt_09 + Produkt_10 + _
Produkt_11 + Produkt_12 + Produkt_13 + Produkt_14 + Produkt_15 + Produkt_16 + Produkt_17 + Produkt_18 + Produkt_19 + Produkt_20 + _
Produkt_21 + Produkt_22 + Produkt_23 + Produkt_24 + Produkt_25 + Produkt_26 + Produkt_27 _
= Targett _
Then _
MsgBox "Targett er sum af: " & _
Tal_01 & " - " & Tal_02 & " - " & Tal_03 & " - " & Tal_04 & " - " & Tal_05 & " - " & Tal_06 & " - " & Tal_07 & " - " & Tal_08 & " - " & Tal_09 & " - " & Tal_10 & " - " & _
Tal_11 & " - " & Tal_12 & " - " & Tal_13 & " - " & Tal_14 & " - " & Tal_15 & " - " & Tal_16 & " - " & Tal_17 & " - " & Tal_18 & " - " & Tal_19 & " - " & Tal_20 & " - " & _
Tal_21 & " - " & Tal_22 & " - " & Tal_23 & " - " & Tal_24 & " - " & Tal_25 & " - " & Tal_26 & " - " & Tal_27
Next Multiplikator_27
Next Multiplikator_26
Next Multiplikator_25
Next Multiplikator_24
Next Multiplikator_23
Next Multiplikator_22
Next Multiplikator_21
Next Multiplikator_20
Next Multiplikator_19
Next Multiplikator_18
Next Multiplikator_17
Next Multiplikator_16
Next Multiplikator_15
Next Multiplikator_14
Next Multiplikator_13
Next Multiplikator_12
Next Multiplikator_11
Next Multiplikator_10
Next Multiplikator_09
Next Multiplikator_08
Next Multiplikator_07
Next Multiplikator_06
Next Multiplikator_05
Next Multiplikator_04
Next Multiplikator_03
Next Multiplikator_02
Next Multiplikator_01
End Sub
Synes godt om
1 synes godt om dette