Avatar billede Rulif Nybegynder
11. juni 2015 - 15:30 Der er 6 kommentarer og
1 løsning

Betinget beregning ud fra celleværdi

Hej, håber at kunne hjælp til denne udfordring, der tilsyneladende ikke er helt ligetil.
For et dataark (http://gratisupload.dk/f/8s1c0wme00) ønskes udformet en formel der kan beregne et kvalitetstillæg.

Regnearkets overordnede funktion er beregning af en samlet afregningspris for kalve ud fra deres vægt og alder.
Regnearket skal være en skabelon for ugentlige beregninger.

I beregningen af pris for det enkelte dyr indgår et kvalitetstillæg for dyrets vægt ift. dets alder (det er dette tillæg jeg gerne vil have hjælp til at få beregnet).
Der skal være en individuel prisberegning for dyrene.
Kalvene kommer i grupper af varierende størrelser - så regnearket skal kunne håndtere varierende antal udfyldte datalinjer (række  8-52 i arket "Kalvedata (ml-kalve)").


Fastlæggelse af kvalitetstillægget:
Ud fra data i kolonne J (alder) og H (vægt) skal størrelsen af tillægget (kolonne M) fastlægges.
Alderen i fx J8 skal matches med den givne række i kolonne AA, hvorefter tillægget kan identificeres ud fra sammenligning af vægt (H8) med kriterierne for de fire klasser (kolonne AB --> AK).
Kolonne M skal således have én af værdierne i AB6, AD6, AG6 eller AJ6.

Eksempel på resultat:
Alderen i J8 = 151, derfor skal vægten i H8 sammenlignes med række 84 (da AA84 = 151). 
Da vægten i H8 = 130, falder værdien i klasse 4, hvorfor M8 = -200 (værdien for klasse 4, der er angivet i celle AB6).

Ex på "facit":
M8 = -200
M9 = -100
M10 = -200
M11 = -200
M12 = -100
...
M23 = 0
M24 = +100
M25 = +100

På forhånd tak for input
Hans Chr.
Avatar billede H_Klein Novice
13. juni 2015 - 21:01 #1
Hej Hans Chr.

Herunder er et forslag fra mig til en løsning.

Option Explicit

Dim RK As Long
Dim RK2 As Long
Dim KO As Long
Dim Alder As Integer
Dim KG As Integer
Dim Tillæg As Integer

Sub Kval_tillæg()

    RK = 8  'Sætter start-række for den variabel der skal se på Alder og Vægt
   
   
    Do  'Her starter første del af loop der værdisætter alder og vægt
    'Sætter værdi i variablen Alder
    Alder = Cells(RK, 10)
    'Sætter værdi i variablen Vægt
    KG = Cells(RK, 8)
   
    RK2 = 7  'Sætter start-række for den variabel der skal se på tillægget
    Do
    RK2 = RK2 + 1
    Loop Until Cells(RK2, 27) = Alder
   
    Tillæg = 0
    If KG <= Cells(RK2, 29) Then
    Tillæg = Cells(6, 28)
    ElseIf KG > Cells(RK2, 29) And KG <= Cells(RK2, 32) Then
    Tillæg = Cells(6, 30)
    ElseIf KG > Cells(RK2, 32) And KG <= Cells(RK2, 35) Then
    Tillæg = Cells(6, 33)
    ElseIf KG > Cells(RK2, 35) Then
    Tillæg = Cells(6, 36)
    End If
    If Tillæg < 0 Then
    Cells(RK, 14) = Tillæg
    Else: Cells(RK, 13) = Tillæg
    End If
    RK = RK + 1
    'Fortæller at loopet skal fortsætte indtil cellen i den første kolonne er tom
    Loop Until Cells(RK, 1) = ""

End Sub


Håber at det er noget du kan bruge

med venlig hilsen

Henrik
Avatar billede Rulif Nybegynder
14. juni 2015 - 14:02 #2
Hej Henrik

Tak for dit løsningsforslag.
Jeg er lidt en novice i programmering i excel,så er i tvivl om hvorledes jeg får integreret dit forslag korrekt.

Har du evt. for at sætte uploadet mit regneark med formlerne indsat, det vil være mig en stor hjælp.

På forhånd tak
Hans Chr.
Avatar billede H_Klein Novice
14. juni 2015 - 14:35 #3
Hejsa

Så har jeg lagt det ind i arket og uploadet det på følgende link

http://gratisupload.dk/f/8s7m9vzuc0/

For at aktivere makroen skal du holde ALT-knappen nede og trykke på F8-knappen for at se makroerne og så vælger du den makro der hedder tillaeg...

Håber at det kan hjælpe dig videre...

Med venlig hilsen

Henrik
Avatar billede Rulif Nybegynder
15. juni 2015 - 13:52 #4
Hej

Regnearket ser ud til at være låst med en kode?

Mvh. HC
Avatar billede H_Klein Novice
18. juni 2015 - 00:22 #5
Hej igen

Beklager ventetiden men der har været lidt travlt...

Herunder et link til filen igen. Denne gang uden skrivebeskyttelse...

http://gratisupload.dk/f/8s9jugyb59/

Med venlig hilsen

Henrik
Avatar billede Rulif Nybegynder
16. august 2015 - 08:49 #6
Hej Henrik
Beklager den manglende respons på dit forslag til løsning.
Af forskellige årsager har jeg ikke haft tid til at arbejde videre med regnearket.

Umiddelbart ser dit løsningsforslag spændende ud.
Jeg håber at få tid til at implementere det i praksis inden længe.

Hvis du lægger et "svar" op, vil jeg tildele pointene.

Med mange tak for hjælpen.
Hans Chr.
Avatar billede H_Klein Novice
16. august 2015 - 12:18 #7
Hej Hans Chr.

Glæder mig at kunne hjælpe.

Med venlig hilsen

Henrik
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