19. august 2002 - 13:33Der er
19 kommentarer og 1 løsning
Flere ens værdier som der skal kendes forskel på
Hejsa allesammen,
Efter at have fået svar på mit (synes jeg) ret svære spørgsmål ang. at få en formels resultat vist som cellereference har jeg fået blod på tanden til at stille endnu et spørgsmål, lad mig starte fra bunden:
Jeg har en talrække hvorfra jeg med funktionen "mindste" (small på engelsk) udtrække de 16 mindste tal fra talrækken.
Hvis vi antager at talrækken står i a1:a36 og de "mindste" resultater jeg har fundet frem til står i d3:d18 vil formlerne i e3:e18 der viser mig cellereferencen til resultaterne i d3:d18 se således ud:(dette er formlen i e3) =ADRESSE(SAMMENLIGN(D3;$a$1:$a$36;0);1) Meget fornem formal der giver cellereferencen for resultatet i d3.
Nu er mit spørgsmål så: Hvis vi antager at der i talrækken (A1:A36) er flere ens værdier hvordan får jeg så excel til at give mig de rigtige referencer hvis jeg f.eks. har udtrukket 2 ens værdier, istedet for ved de 2 værdier at give mig den samme cellereference.
I ovenstående formal eksempel kan i evt prøve at ændre en at tallene i talrækken" så der bliver udtrukket 2 ens tal i mindste værdierne og se at excel nu viser den første cellereference til den værdi der er 2 af, istedet for at give mig de 2 forskellige.
Jeg håber jeg har forklaret mig på forståelig vis.
Jeg har tidligere haft samme problem, som jeg dengang løste ved at sørge for, at der alligevel ikke var 2 helt ens værdier. Jeg oprettede altså en ekstra kolonne, hvor jeg lagde en beregningsmæssig ubetydelig værdi til - f.eks. 0,000000000001; 0,000000000002 osv.
Umiddelbart lyder det som en god ide, jeg er dog ikke sikker på om jeg kan benytte mig af den.
Talrækkerne fremkommer ved at jeg tager nogle resultater fra andre celler, i andre ark og lægger sammen i cellerne i talrækken.
Det der er det store perspektiv er at jeg vil så have excel til at først finde de 16 mindste værdier, dernæst føre resultatet af disse formler "mindste" over i nogle andre celler.
Jeg ved slet ikke om det KAN lade sig gøre men jeg tror at det kan.
Projektet er et regneark der selv vælger 16 tal ud fra visse kriterier, og selv overfører resultate af disse kriterie til nogle andre felter. Det første kriterie er så de 16 mindste tal.
Da jeg ikke lige har renearket der er tale om ved mig kan jeg på nuværende tidspunkt ikke sige om jeg kan bruge dit forslag. I mit forrige spørgsmål om at få cellereferencen fra en formels resultat var der en kommentar om at bruge funktionen vopslag (som jeg ikke lige kender alt for meget til).
hej Haastrup, Jeg vil anbefale dig at benytte Jan's løsningsforslag, dog er der et alternativ:
Du skal ikke benytte dig af mindsteværdien, men derimod af funktion Plads: ---------------------- PLADS(tal;reference;rækkefølge)
Tal er det tal, rangen ønskes fundet for.
Reference er en vektor eller en reference til et datasæt. Ikke-numeriske værdier ignoreres.
Rækkefølge er en værdi, der angiver, om der er tale om faldende eller stigende rækkefølge.
Hvis rækkefølge er 0 (nul) eller udelades, får tal rang, som om reference var en liste sorteret i faldende rækkefølge.
Hvis rækkefølge er en hvilken som helst værdi undtagen nul, får tal rang, som om reference var en liste sorteret i stigende rækkefølge.
Bemærk!
PLADS giver ens tal samme rang. Men forekomsten af ens tal påvirker rangen for de efterfølgende tal. Hvis f.eks. tallet 10 forekommer to gange i en liste med heltal og har rangen 5, vil 11 få rangen 7. Der er ikke noget tal, der får rangen 6. --------------------------------------
alternativ, kan du lave en pivottabel over dine mindste værdier i kolonne 1 og reference cellen i kolonne 2 - hermed får du hurtigt belyst, hvornår din mindsteværdi går igen
Jeg kan godt se PLADS kan være en mulighed, men jeg kan ikke rigtigt bruge den da jeg gerne vil have excel til at hente værdien og indsætte den i en anden celle. Derfor er det pinedød nødvendigt at jeg får den helt eksakte cellereference.
Jeg håber ikke jeg er for "sort" jeg synes selv jeg er på RIMELIG tynd is her :-)
ransborg --> pivottabel er WAY out of my league, jeg har aldrig prøvet sådan noget før, det kan være at hvis det ER den eneste løsning at jeg må hoste op med 200 point mere i et andet spørgsmål, dog håber jeg stadig på at jeg kan få et svar på dette spørgsmål :-)
Jeg vil give dig ret jan, jeg kan ikke bruge PLADS rigtigt til noget da den giver (som du også bemærker) samme problemstilling som den formel jeg bruger i øjeblikket.
Jeg skal bruge en formel der kan kende forskel på cellereferencen til to ens værdier i et celleområde, ellers må jeg lave om på tallene som du foreslår og lægge en ubetydelig brøk til.
Hvis jeg formaterer et sådant tal uden decimaler vil den da kunne kende forskel på det og et andet hvis jeg lægger forskellige værdier til?
jan, jeg tror umiddelbart at det er dig der vinder i denne runde, da jeg synes at det lyder meget fornuftigt, specielt hvis ikke man skal kunne se de decimaler, jeg skal lige rådføre mig med min arbejdspartner og høre om muligheden er plausibel (hvilket som sagt jeg er af den umiddelbare fornemmelse at den er) så vender jeg tilbage hertil.
Skulle du i mellemtiden finde på npget andet guf er du velkommen til at lægge endnu en kommentar ind :-)
I E3 holder du fast ved den oprindelige formel, men i E4 indsætter du følgende: =ADRESSE(IF(D4=D3;SAMMENLIGN(D4;INDIREKTE("A"&SAMMENLIGN(D4;$A$1:$A$36;0)+1&":$A$36");0)+SAMMENLIGN(D4;$A$1:$A$36;0);SAMMENLIGN(D4;$A$1:$A$36;0));1)
Den er lidt "langhåret" men i korthed tjekker den, om tallet er en genganger. Hvis den er det fastlægger den den nye adresse ved at starte med at tælle, hvor den anden slap.
Jeg nåede frem til, men forskellen er ikke stor =HVIS(D3=D2;ADRESSE(SAMMENLIGN(D3;FORSKYDNING(INDIREKTE(E2);1;0):$A$36;0)+RÆKKE(INDIREKTE(E2));1);ADRESSE(SAMMENLIGN(D3;$A$1:$A$36;0);1))
Jan, du har gjort det igen. Jeg fatter ikke specielt meget f den formel, og det gør egentlig heller ikke så meget.
Dog er der et problem, den kan ikke finde ud af det når den kommer til de tal der er ens. Den giver en #REFERENCE? fejlmelding, så det virker ikke helt som det skal. Jeg tror jeg går over til at bruge den første løsning du gav med at lægge en ubetydelig værdi til det tal jeg er ude efter.
Sørgeligt at bak ikke svarede på spørgsmålet, jeg ville nok have givet ham nogle point også, iogmed at han også er kommet op med en MONSTER formel, der dog heller ikke virker ved de samme værdier, den giver en #I/T fejlmeddelelse.
Nå, men jeg er endnu ikke færdig, jeg opretter lige et nyt spørgsmål, håber i har mod på det også, nu tror jeg nemlig det bliver RIGTIGT sjovt for de små grå :-)
Mange tak for hjælpen, og specielt fordi den kom så hurtigt.
Haastrup PS: Ravsborg, grunden til at jeg ikke giver dig nogle point er at du har kopieret teksten fra hjælp, og derudover absolut ingen forklaring giver om noget som helst.
Synes godt om
Ny brugerNybegynder
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.