Avatar billede dramsgaard Nybegynder
03. marts 2006 - 22:34 Der er 11 kommentarer og
1 løsning

validering i excel

Jeg har 4 celler de indeholder sæsonfordeling af salget af et produkt målt i %:
1. kvartal
2. kvartal
3. kvartal
4. kvartal

Hvordan kan man validere felterne så de samlet altid giver 100??

Jeg har prøvet mig lidt frem gennem validerings menuen, men kan ikke rigtig få det til at virke
Avatar billede brynil Nybegynder
03. marts 2006 - 22:47 #1
Måske kan du bruge denne:

=A1/$A$5*100

$A$5 er summen af de 4 kvartalers tal, hér placeret i A1 til A4.
Avatar billede dramsgaard Nybegynder
03. marts 2006 - 23:22 #2
hmm når jeg går ind i Data > Validation og under validation criteria vælger custom... så kommer den der formel-linie frem, men jeg synes ikke rigtig jeg kan få den til at validere noget lige meget hvad jeg referer til.
Avatar billede brynil Nybegynder
03. marts 2006 - 23:53 #3
Jeg tror ikke du kan anvende Validering til andet end at 'validere', dvs kontrollere om tallene opfylder bestemte kriterier.

Altså ikke til at ændre værdier.
Avatar billede brynil Nybegynder
03. marts 2006 - 23:56 #4
I Excels hjælp om validering står der bl.a.:

I boksen Formel skal du indtaste en formel, der beregner en logisk værdi (SAND for gyldige poster og FALSK for ugyldige).
Avatar billede dramsgaard Nybegynder
04. marts 2006 - 00:47 #5
jeg tror jeg dropper det.... kom med et svar hvis du vil have lidt point for din tid :)
Avatar billede mrjh Novice
04. marts 2006 - 17:38 #6
Prøv at inftaste formlen: =SUM(A1:A4)=100 forudsat at du taster dine værdier i A1:A4.
Su skulle det virke.
Avatar billede mrjh Novice
04. marts 2006 - 17:56 #7
Nej dur ikke, da det kræver at alle felterne er intastet inden datavalideringen. Kan kun få den til at virke med =SUM(A1:A4)<=100, mn den sikre jo kun at den samlede værdi aldrig kommer over 100 og det var jo ikke det du søgte.
Avatar billede brynil Nybegynder
04. marts 2006 - 18:22 #8
Det kan tilnærmelsesvis lade sig gøre med en makro, men der er nogle problemer jeg ikke helt ved hvordan man undgår. De nye værdier er med decimaler og hvis man anvender Round kan man ikke være sikker på at ramme 100 men måske 99 eller 101.

Derudover kan jeg ikke se den kan anvendes med mindre den køres manuelt. Ws_Change og Calculate laver endeløse loops.

Men hvis nogen gider brygge videre på det, så er hér et forslag:

Dim sm As Integer
sm = Application.Sum(Range("A1:A4"))
If sm <> 100 Then
    For Each c In Range("A1:A4")
        c.Value = c.Value / sm * 100
        'c.Value = Round(c.Value / sm * 100, 0)
    Next c
End If
Avatar billede dramsgaard Nybegynder
04. marts 2006 - 18:45 #9
...jeg kan heller ikke helt få det til at virke....men det er også lige meget nu, da jeg har lavet en anden løsning istedet.

Men tak for forslagene.... hvis i ligger et svar får i nogle point som tak for jeres tid : )
Avatar billede brynil Nybegynder
04. marts 2006 - 18:58 #10
Ok, kedeligt alligevel! :)
Avatar billede mrjh Novice
04. marts 2006 - 19:07 #11
Ok, men denne ser ud til at virke hvis der som standard er 0 i værdi i felterne. Indtastningsfelter B1:B4.
=ELLER(SUM($B$1:$B$4)<=100;OG($B$1<>0;$B$2<>0;$B$3<>0;$B$4<>0;SUM($B$1:$B$4)=100)).
Selvom du har fundet en anden løsning, kunne jeg ikke lade være med at bringe den :-)
Avatar billede mrjh Novice
04. marts 2006 - 20:11 #12
Og denne virker på tomme værdier ved indtastning i C1:C4.
=ELLER(SUM($C$1:$C$4)<=100;OG($C$1:$C$4<>"";SUM($C$1:$C$4)=100))
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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