Avatar billede Greenseeker Praktikant
21. november 2006 - 22:45 Der er 19 kommentarer og
1 løsning

5 første SAND-værdier

Nu skal i høre...:

Jeg har en liste/kolonne på 18 celler som hver fungerer som cellekæde for hver deres afkrydsningsfelt, dvs. de har værdien SAND eller FALSK afhængig af afkrydsning.

Der må maksimalt markeres 5 afkrydsningsfelter.

Jeg har så 5 andre celler, som hver i sær skal returnere en værdi for ét af de afkrydsede felter. Altså de 5 celler skal vise hvilke 5 afkrydsningsfelter der er markeret...

Jeg har forsøgt mig med en lang sammenkædning af HVIS-funktioner, og det virker fint, bortset fra at programmet ikke vil lade mig lave formlen længere end til 8 celler i listen...

Er der nogen der kan gi´ et tip? :o)

P.S. Kan jeg i øvrigt "låse" de 18 afkrydsningsfelter, så man maksimalt kan markere 5 af dem???
Avatar billede mugs Novice
21. november 2006 - 22:48 #1
En simpel HVIS kan kun indeholde 7 betingelser. Men man kan snyde den lidt så man får flere. Nu er jeg ikke Excel haj, men prøv at lede lidt i excel kategorien finder du også hvordan.
Avatar billede mugs Novice
21. november 2006 - 22:49 #2
Avatar billede excelent Ekspert
21. november 2006 - 23:19 #3
hvis du fx.har 5 celler med x i B1:B18
så indsæt denne i fx. C1 og kopier ned til C5
så får du række nr. for afkrydsninger

=MINDSTE(HVIS($B$1:$B$18<>"";RÆKKE($B$1:$B$18));RÆKKE(1:1))
Avatar billede excelent Ekspert
21. november 2006 - 23:23 #4
OBS FORMLEN AFSLUTTES MED ctrl+shift+enter
Avatar billede excelent Ekspert
22. november 2006 - 05:18 #5
marker de 18 celler
vælg Data > Datavalider
vælg brugerdefineret i tillad
indsæt følgende i formelfelt (tilpas range til dine markerede celler)

=TÆLV($B$1:$B$18)<6

under fanen fejlmeddelelse indsæt en passende tekst
Avatar billede Greenseeker Praktikant
22. november 2006 - 08:05 #6
Tak for kommentarene...

Til mugs: Det virker med HVIS-formlerne, men det må kunne gøres lettere...!? Hvis ikke, så er pointene dine...! :o)

Til excelent: Hmm... Den her =MINDSTE-formel hjælper mig ikke så meget, tror jeg.
Lad mig prøve at uddybe: De fem celler skal returnere et navn (f.eks. "Henrik"), hvis der er krydset af i feltet ud for "Henrik". MINDSTE-formlen giver kun et nr. for rækken, og så er jeg lige vidt.
Med hensyn til datavalideringen, så forstår jeg godt hvad du mener, men jeg kan ikke få det til at virke. =TÆLV tæller kun celler der ikke er tomme, ik`? Cellerne der skal "låses", indeholder enten SAND eller FALSK, og er således ikke tomme. Jeg har så prøvet med =TÆL.HVIS($B$1:$B$18;SAND)<6 uden held. Jeg kan stadig markere 6 celler uden at blive stoppet eller få fejlmelding...
Avatar billede Greenseeker Praktikant
22. november 2006 - 13:03 #7
Rettelse til mugs: Kan alligevel ikke få HVIS-formlerne til at virke, fordi hvis jeg har to eller flere af de 18 felter markeret, vil den pga &-tegnet vise begge værdierne trukket sammen, f.eks. "HenrikPeter"...

Efter at have kigget lidt på en masse andre tråde, hælder jeg måske mere til at problemet skal løses af en opslagsfunktion, men jeg ved intet om disse, så jeg har stadig no clue...! :o/
Avatar billede mrjh Novice
22. november 2006 - 14:05 #8
Du kan sagtens bruge excelents formel med en lille modifikation
=INDEKS(B:B;MINDSTE(HVIS($B$1:$B$18<>"";RÆKKE($B$1:$B$18));RÆKKE(1:1));)
Afslut med ctrl+shift+enter
Avatar billede Greenseeker Praktikant
22. november 2006 - 14:51 #9
Hmm... Har lige prøvet det. I mit regneark kommer den til at hedde:
=INDEKS(P:P;MINDSTE(HVIS($P$6:$P$23<>"";RÆKKE($P$6:$P$23));RÆKKE(6:6));)
Denne formel returnerer FALSK uanset om der er markeret nogen steder eller ej!? Jeg ved ikke om jeg har forklaret mig forkert eller...

Jeg prøver lige igen, så.

Mit ark ser nogenlunde sådan her ud:

  A          B          C         
Formel 1  Navn 1    SAND/FALSK (afhængig af afkrydsning i tilhørende felt)
Formel 2  Navn 2    SAND/FALSK
Formel 3  Navn 3    SAND/FALSK
Formel 4  Navn 4    SAND/FALSK
Formel 5  Navn 5    SAND/FALSK
          Navn 6    SAND/FALSK
          Navn 7    SAND/FALSK
          osv.      osv.
          18 rk.    18 rk.

Ok. Man skal afkrydse max 5 felter i kolonne c, sådan at 5 af "SAND/FALSK"-felterne bliver "SAND"(Cellekæde for afkrydsningsfelterne). Formel 1-5 i kolonne A skal så vise de 5 forskellige navne på de personer i kolonne B, der står ud for "SAND"-felterne. Hvis der kun er 3 navne krydset af, skal Formel 1-3 vise disse navne, og Formel 4 og 5 skal vise "4" og "5".

Jeg ved ikke om det bare er mig der har misforstået dig mrjh, men jeg kan ikke se hvordan indeks-formlen skal kunne returnere navnene fra kolonne B?
Som tidligere sagt virker det, hvis jeg skriver:

=HVIS(C1=SAND;B1;HVIS(C2=SAND;B2;(HVIS... osv.

Men den holder jo ikke alle 18 rækker, og =HVIS()&HVIS()-formlerne samler bare de forskellige navne...

Jeg håber det hjælper...? :o/
Avatar billede excelent Ekspert
22. november 2006 - 16:19 #10
Formel tilpasset dit eks. herover - husk afslut med CTRL+SHIFT´+ENTER
Kopier ned til A5

=HVIS(TÆL.HVIS($C$1:$C$18;SAND)>=RÆKKE(1:1);INDIREKTE("B"&MINDSTE(HVIS($C$1:$C$18=SAND;RÆKKE($B$1:$B$18);"*");RÆKKE(1:1)));RÆKKE())
Avatar billede Greenseeker Praktikant
22. november 2006 - 16:47 #11
Ok. Vi nærmer os det rigtige, excelent!

Men det er vist min skyld at vi kun nærmer os... :o/

I det faktiske regneark hedder cellerne der skal vise navnene C5,G5,K5,C16,G16 og K16. De står altså ikke i en kolonne som vist ovenover!
Cellerne B1-18 hedder N6-23, og C1-18 hedder P6-23.
Det må være derfor den returnere nogle lidt mærkelige ting.

Jeg forstår ikke en brik af formlen, så kunne du ikke tilpasse den efter forholdene?
Avatar billede excelent Ekspert
22. november 2006 - 16:53 #12
ok kikker på det
Avatar billede excelent Ekspert
22. november 2006 - 17:24 #13
returnerer første navn
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=1;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));1));1)
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=2;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));2));2)
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=3;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));3));3)
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=4;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));4));4)
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=5;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));5));5)
=HVIS(TÆL.HVIS($P$6:$P$23;SAND)>=6;INDIREKTE("n"&MINDSTE(HVIS($P$6:$P$23=SAND;RÆKKE($N$6:$N$23));6));6)
returnerer sidste navn
Avatar billede Greenseeker Praktikant
22. november 2006 - 17:42 #14
Det virker helt perfekt! Takker mange gange...! :o)
Har du også styr på hvordan jeg låser de 18 celler, så kun 5 kan markeres?

Du har i alle tilfælde fortjent dine point, så smid lige et svar...
Avatar billede excelent Ekspert
22. november 2006 - 17:51 #15
ok velbekom

skal lige vide lidt mere om hvilke celler som afgør om P6:P23 er sand el. falsk
eller hvordan det nu hænger sammen ?
Avatar billede Greenseeker Praktikant
22. november 2006 - 18:02 #16
Her er point! :o)

Der er ikke nogen celler der afgør om de er SAND eller FALSK, de er alle knyttet til hver deres afkrydsningsfelt (kontrolelement). Så det der afgør cellernes værdi er hvorvidt der af sat hak i afkrydsningsfeltet. Egentlig er det vel antallet af hakker i de 18 afkrydsningsfelter der højest må være 5... Men det er jo det samme som antallet af SAND-værdier i cellerne..

Ved ikke om det kan lade sig gøre...?
Avatar billede excelent Ekspert
22. november 2006 - 18:06 #17
ok ser om der er en løsning
Avatar billede excelent Ekspert
22. november 2006 - 19:09 #18
Her er koden for de 3 første Checkboxe, indsæt selv resten i arkets kodemodul
jeg går ud fra du i forvejen har celleref. i Linkedcell i Egenskaber.

Private Sub CheckBox1_Click()
If WorksheetFunction.CountIf(Range("P6:P23"), True) > 6 Then Range("P6") = False
End Sub

Private Sub CheckBox2_Click()
If WorksheetFunction.CountIf(Range("P6:P23"), True) > 6 Then Range("P7") = False
End Sub

Private Sub CheckBox3_Click()
If WorksheetFunction.CountIf(Range("P6:P23"), True) > 6 Then Range("P8") = False
End Sub
Avatar billede Greenseeker Praktikant
22. november 2006 - 19:17 #19
Takker! Det er en stor hjælp! :o)
Avatar billede excelent Ekspert
22. november 2006 - 19:21 #20
velbekom
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