11. marts 2004 - 12:18Der er
11 kommentarer og 1 løsning
Opslag i 2 celler
Hej,
Er der nogen der kan komme med et foreslag til hvordan jeg løser følgende opgave: Jeg har lavet en liste der indeholder 3 kolonner et navn, en type, og et tal ex. (Æbler, brune, 5) Nu vil jeg gerne slå op i denne liste så hvis jeg skriver Æbler i første kolonne og brune i anden kolonne, så skal excel skrive 5 i tredie kolonne.
Har prøvet med Lopslag, men den kan ikke bruge 2 parametre
Nåå bak, jeg havde eller lige bikset en funktion sammen, men i får den alligevel.
Public Function ULopslag(Kriterier As Range, Opslagsliste As Range, ResultatKolonne As Integer) Dim Oliste As Variant, Krit As String, FKrit As String I = 0 Krit = "" For Each C In Kriterier Krit = Krit & C.Value I = I + 1 Next r = Opslagsliste.Rows.Count For t = 1 To r FKrit = "" For u = 1 To I FKrit = FKrit & Opslagsliste(t, u) Next If FKrit = Krit Then ULopslag = Opslagsliste(t, ResultatKolonne) Exit Function End If Next
Hey Bak, jeg forstår ikke funktionen sumprodukt, det ser ud som om at du laver følgende beregning: æbler*brune*5 hvor æbler=æbler og brune=brune..... ?? jeg kan heller ikke få den til at virke, får bare....#Værdi!
Du skriver at du ikke kan bruge extra celler, men et eller andet sted er du nødt til at ha' din formel slå op med 2 parametre.
Bak's eksempel er baseret på at du har tre kollonner, som du selv beskriver i spørgsmålet.
I kollonne A har du frugter: Æbler,pærer,bananer etc. I kollonne B har du farver: brune,sorte,gule etc. I kollonne C har du tal: 1,2,3,4 etc.
Når du bruger bak's formel: =SUMPRODUKT((A3:A12=A1)*(B3:B12=B1)*(C3:C12)) gør den følgende: den søger i intervallet A3 til A12 efter værdien A1 f.eks. Æbler og i intervallet B3 til B12 efter værdien B1 f.eks. brune og tæller værdien i intervallet C3 til C12 sammen som opfylder kriteriet fra A1=Æbler og B1=brune. Du skal ikke lade dig forvirre af *(gange)-tegnet, den udfører en summering.
De tre områder skal være lige store (A3:A12, B3:b12, C3:c12) Og den gange ikke æbler og brune. (a3:a12=a1) giver sand (1) eller falsk (0) for hver linie (B3:B12=B1) giver sand (1) eller falsk (0) for hver linie
hvis begge er sande giver sand * sand = 1 som ganges med den samme line i C3:C12 hvis en eller begge er falsk giver det falsk * falsk = 0 eller falsk * sand = 0 som ganges med den samme line i C3:C12, Dette giver så 0
På den måde ender du op med summen af de linier af C3:C12 hvor begge udsagn er sande
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.