10. november 2008 - 22:50Der er
18 kommentarer og 1 løsning
optimér en gættet værdi
Hej Jeg skal i starten af et større regnestykke angive en længde (målt i milimeter)og efter en masse udregninger finder jeg så ud af om den gættede værdi er nok til at overholde maksimal værdien. Jeg vil gerne så tæt som muligt på maksimal værdien for at få den bedste udnyttelse. Hvordan laver jeg selve beregningen så excel automatisk optimere på mit gæt. Håber det er til at forstå. et simpel eksempel kunne være følgende: L = 100(gæt) formlen lyder: L*4/25*0,04<5. (meget mere simplet end det jeg regner på) Nu kunne jeg begynde at gætte indtil jeg kommer lige under 5. men det var da sjovere at excel selv gjorde det. mvh Peto
Marker B1. Vælg Funktioner - Målsøgning. I ruden Angiv celle, står allerede B1. I ruden Til værid, skriver du fx 4,999999999. I ruden Ved ændring af celle skriver du A1. klik på OK.
hej jkrons Det er en mulighed jeg kendte, derfor skrev jeg at det ville være rart om der findes en løsning der kunne gøre det automatisk, så jeg ikke hver gang skal køre målsøgning. men tak for svaret. Hører gerne andre muligheder Peto
Jeg er ikke helt klar over, hvad du mener med "automatisk", men en mulighed kunne være at lægge en makro på Worksheet_Change hændelsen. Nedenståedne forudsætter stadig, at værdien, der skal findes står i A1 og formlen i B1. I C1 skal du indtaste den værdi, som du ønsker at nå i B1. Koden skal lægges i arkets kodemodul:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("c1")) Is Nothing Then Range("B1").GoalSeek Goal:=Range("C1"), ChangingCell:=Range("A1") End If End Sub
Hvis det du mener er, om Excel kan gøre det med en formel, er svaret nej, da der er tale om en ligning, og Excel kan ikke løse ligninger med formler.
Nu er jeg ikke lige en haj til excel, så det kan godt være at jeg ikke helt forstår dit forslag. kan din formel håntere at værdien 5 er variabel? Der indgår omkring 50 formler inden jeg når fra "L" til sammenligningen med værdien "5", håber du forstår.
hej Jkrons Det er min debut med VBA, så det er måske godt med lidt ekstra forklaring jeg har indsat: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("c1")) Is Nothing Then Range("B1").GoalSeek Goal:=Range("C1"), ChangingCell:=Range("A1") End If End Sub ved at gå i makrio visual basic og derinde vælge modul, derefter gem og luk. Er det korrekt? og hvad skal der ske i excel udover formel og værdier i A1 og C1. mvh Peto
Hvis du har lagt koden det rigtige sted (højreklik på arkfanen og vælg Vis kode), skulle det gerne være sådan, at når du taster noget i C1, ændrer den værdien i A1 og resultatet i B1.
Jeg har fået den til at virke, nu skal jeg lige have den flettet ind i en større beregning. men det burde jo nok virke, da koden vel er sammenlignlig med målsøgning
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.