Avatar billede KKPK Nybegynder
12. maj 2015 - 09:05 Der er 5 kommentarer

Finde en bestemt værdi mellem vilkårlige tal.

Hej
Jeg har fået et problem, som jeg håber i kan hjælpe mig med.
I mit regneark, har jeg i hver kolonne et postnr. Neden under har jeg vilkårlige tal.
Opgaven går nu ud på at finde den zone som et tal tilhøre, eks. Jeg har et post nr. eks. 1000 i D1, dernæst har jeg tallet 37 Stående i D2, Nu skal jeg finde hvilken Zone, 37 ligger i.
Zonen findes ved at finde tallet der er lavere end 37, i dette tilfælde 36, og det bliver zone 3, dette tal skal jeg gerne have stående i D3.
Kendte faktorer, Række, postnr. Og vilkårligt tal.
Jeg har forsøgt  med følgende formel, =LOPSLAG(D3;A1:C16;3;SAND), men her kræver det at jeg kender hvilken kolonne postnr. Er i og det gør jeg ikke, så der skal søges i alle kolonner, efter det rigtige postnr, før jeg går ned i rækkerne after tal og zone. Er der nogen der kan hjælpe.

1000    1001    Zone
16    165    1
24    154    2
36    143    3
48    132    4
60    121    5
72    120    6
84    108    7
96    96    8
108    84    9
120    72    10
121    48    11
132    48    12
143    36    13
154    24    14
165    16    15
Avatar billede jens48 Ekspert
12. maj 2015 - 10:13 #1
Denne lille formel vil kunne klare det:

=MAX(IFERROR(INDEX(A$1:A$16;MATCH($D$2;A$1:A$16;1));0);IFERROR(INDEX(B$1:B$16;MATCH($D$2;B$1:B$16;1));0);IFERROR(INDEX(C$1:C$16;MATCH($D$2;C$1:C$16;1));0))

På dansk:

=MAKS(HVIS.FEJL(INDEKS(A$1:A$16;SAMMENLIGN($D$2;A$1:A$16;1));0);HVIS.FEJL(INDEKS(B$1:B$16;SAMMENLIGN($D$2;B$1:B$16;1));0);HVIS.FEJL(INDEKS(C$1:C$16;SAMMENLIGN($D$2;C$1:C$16;1));0))
Avatar billede kim1a Ekspert
12. maj 2015 - 10:01 #2
En kombination af lopslag og vopslag (tror jeg den hedder - på engelsk hlookup). Sammen med indirekte formlen tror jeg er vejen frem.

Hvis du laver en tabel der definerer hvad opslagstabellen hedder pr postnummer. Så laver du en indirekteformel der tager højde for dette resultat evt krydret med en horisontalt opslag for at angive hvilken kolonne der skal returneres.

Altså
Postnummer 1000 tabel hedder A1:C16 kolonne returner 3
Postnummer 1001 tabel hedder B1:C16 kolonne returner 2

=vlookup(D2;indirekte(vlookup(D1;[din postnummer tabel];2;false));vlookup(D1;[din postnummertabel];3;false);sand)

Denne formel slår 37 op i A1:C16 og returnerer 3 kolonne.

Det er ikke lige testet, men jeg skriver det gerne i et ark hvis du uploader til f.eks. gupl så jeg kan redigere hvor der er strukturen.
Det kan være nogle af de skarpere eksperter har en matrixformel som jeg desværre er lidt blank på.
Avatar billede xl-Enthusiast Ekspert
12. maj 2015 - 10:39 #3
#2

Jeg tror ikke din formel returnerer det KKPK efterlyste.
Avatar billede jens48 Ekspert
12. maj 2015 - 12:59 #4
#3
Formelen finder det største tal der er mindre end det tal der står i D2 uanset i hvilken kolonne det står i. Men hvis det ikke er det som KKPK vil have vil jeg gerne høre det  - fra KKPK
Avatar billede jens48 Ekspert
12. maj 2015 - 19:45 #5
Men hvis du ønsker det højeste tal, der er mindre end D2 i den kolonne der har samme postnummer i overskrift, som står i D1 (og jeg dermed i ovenstående indlæg har misforstået noget) må du hellere rette formelen til:

=VLOOKUP(D2;INDEX($A$2:$C$16;;MATCH($D$1;$A$1:$C$1));1;TRUE)

=LOPSLAG(D2;INDEKS($A$2:$C$16;;SAMMENLIGN($D$1;$A$1:$C$1));1;SAND)

Og så iøvrigt takke xl-Enthusiasten for at gøre opmærksom på min fejltagelse
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