Just nu i M3-nätverket
Jump to content

Vlookup/letarad med intervall


Rob..

Recommended Posts

Hur gör jag när jag vill använda en vlookup med intervall?

Exempelvis allt mellan 1-1,15 ska ge en 2 allt mellan 1,16-2,34 ska ge en 5 osv osv

Har engelsk excel (xp)

 

 

[inlägget ändrat 2006-10-17 11:02:58 av R..]

Link to comment
Share on other sites

Tror inte att Vlookup är rätt verktyg.

Om intervallen är helt ojämna så får du nog göra en 3-kolumnig hjälptabell, typ:

 

Min_____Max_____Värde

1_______1,5_______2

1,5_____2,34______5

 

Sedan använder du en matrisformel, eller Produktsumma för att slå upp värdet (egentligen summera de som uppfyller villkoret). Exempel om hjälptabellen ligger i blad2:

 

=PRODUKTSUMMA((Blad1!A1>Blad2!$A$2:$A$55)*(Blad1!A1<=Blad2!$B$2:$B$55)*(Blad2!$C$2:$C$55))

 

Eller matrisvarianten

{=SUMMA(OM((Blad1!A1>Blad2!$A$1:$A$55)*(Blad1!A1<=Blad2!$B$1:$B$55)=1;Blad2!$C$1:$C$55;""))}

 

***engelska sa du ju***

=SUMPRODUCT((Blad1!A1>Blad2!$A$2:$A$55)*(Blad1!A1<=Blad2!$B$2:$B$55)*(Blad2!$C$2:$C$55))

 

{=SUM(IF((Blad1!A1>Blad2!$A$1:$A$55)*(Blad1!A1<=Blad2!$B$1:$B$55)=1,Blad2!$C$1:$C$55,""))}

****************

 

PS, de här formlerna kommer att returnera 0 om dom inte hittar något.

 

PPS

Om du har Svensk windows så får du använda ; istället för , som skiljetecken. Även i den engelska formeln.

[inlägget ändrat 2006-10-17 13:48:37 av MH2]

Link to comment
Share on other sites

Får nu fram siffror, tack! Men jag får många noller fastän dem ligger inom intervallet vad beror det på? En del värden är inte ernbart siffror exempelvis även + och -. Vidare verkar det bli problem när man hamnar precis på intervallsgränsen.

 

 

[inlägget ändrat 2006-10-17 15:26:21 av R..]

[inlägget ändrat 2006-10-17 15:28:35 av R..]

Link to comment
Share on other sites

Hej.

När det gäller intervallgränserna så får du bestämma själv hur det skall hanteras. Exprimentera med

< mindre än

<= mindre än eller lika med

osv

 

Formeln ovan är bara avsedd för att hantera siffror (går liksom inte att säga att en text är större eller mindre än ett tal). Testa att översätta "värdet" till ett tal med hjälp av

swe

TEXTNUM(A1)

eng

VALUE(A1)

dvs du ersätter

Blad1!A1 med VALUE(A1)

i din formel

 

Link to comment
Share on other sites

Ok ska testa vidare, men när jag menar värden så syftar jag på hjälptabellens värde dvs 1-1,15= 6+ Det måste väl kunna gå?

 

Link to comment
Share on other sites

Ajfan, nej. Den bygger ju på att man summerar värden i tredje kolumnen, inte att man gör ett uppslag (som Vlokup).

Måste fundera lite. Borde gå med lite trixande.

 

Link to comment
Share on other sites

Det här blir löjligt långt...

 

=INDIRECT("G"&SUMPRODUCT((A1>$E$2:$E$15)*(A1<=$F$2:$F$15)*(ROW($E$2:$E$15))))

 

Det man gör är att returnera radnumret när villkoren är uppfyllda istället för värdet i 3:e kolumnen ROW()

Sen läger vi helt enkelt ihop Texten "G" (den kolumn du vill slå i) med det radnummret och ber excel returnera värdet i cell G

INDIRECT("G" & radnummer)

Du kan naturligtvis använda index istället:

=INDEX(G:G;SUMPRODUCT((A1>$E$2:$E$15)*(A1<=$F$2:$F$15)*(ROW($E$2:$E$15)));0)

 

Orkar inte göra natrisformeln.

 

**************

PS:

Om du vill ha ett "öppet" sista intervall (allt större än 10 tex) så måste du fortfarande skriva in ett maxvärde i tabellen. Skriv in ett löjligt högt tal bara.

 

[inlägget ändrat 2006-10-17 17:13:07 av MH2]

Link to comment
Share on other sites

Jag har en annan metod... enkel som bara den...

 

Skriv upp en lista med dina gränsvärden sorterade. Skriv i kolumnen bredvid de värden du vill erhålla.

 

Dvs i kolumn A skriver du 1, 1.15, 5 osv

i kolumn B skriver 0 (värden under 1?), 2, 5 osv

 

Sedan skriver du en Letarad/Vlookup sats som ser ut såhär på engelska:

=VLOOKUP(D1,A:B,2,TRUE)

där du skriver in ditt värde i D1. Voila - klart!

 

Edit: Oops - missade lite i formeln, ska nog vara rätt nu. Hoppas jag. Ja, du förstår den väl och kan fixa den om den är fel.

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2006-10-17 18:14:52 av Monshi]

Link to comment
Share on other sites

Nämen va xxxxxx. AAAGggggggghhhhhh.

Tänkte inte på att det går att använda TRUE för "sorterad matchning", trots alla gånger man fått obegripliga fel på grund av ett glömt FALSE.

 

Det svider, det svider... <, > < ,>

 

Link to comment
Share on other sites

Hej!

 

Jag fattar inte riktigt, vad menar du med kolumn B.

Som det är nu har jag A kolumn med minvärdena o i b kolumnen maxvärdena samt c kolumnen med det värde som intervallet ger dvs

 

A B C

1 1,64 1+

 

Alltså 1,58(som jag har i d) ska ge 1+.

 

edit haha nu gick det, super!

 

[inlägget ändrat 2006-10-18 09:21:33 av R..]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...