Avatar billede ela_79 Nybegynder
10. marts 2011 - 20:55 Der er 8 kommentarer og
1 løsning

Opslag med flere retur værdier

Jeg står og mangler en formel for at lave et opslag i en matrix hvor jeg skal finde alle poster som har samme værdi i en bestemt kolonne.
For eksempel til anvendelse i et adresse kartotek hvor det kan være interessant at finde alle adresser med samme postnummer.

Jeg kan umiddelbart godt lave opslaget og finde den første adresse, men kan ikke lige få Excel til at finde de efterfølgende.

Data strukturen er...
A (Navn)  B (Adresse)  C (Postnummer)    D (By)
Avatar billede kabbak Professor
10. marts 2011 - 22:26 #1
Du skal kikke på Advanseret filter
Avatar billede jens48 Ekspert
10. marts 2011 - 22:55 #2
Hvis du sætter en ekstra kolonne ind kan det lade sig gøre på følgende måde:
Forudsætninger: kolonne a = hjælpekolonne, kolonne b = navn, C = adresse, D = postnummer, E = By. I celle G1 står det ønskede postnummer.
I celle A1 skrives: =IF($G$1=D1;COUNTIF($D$1:D1;$G$1);) Formelen kopieres så langt ned som der er adresser.

I celle I1 skrives: =IF(ISERROR(VLOOKUP(ROW();$A$1:$E$30;1;FALSE));"";VLOOKUP(ROW();$A$1:$E$30;2;FALSE))
Der er her kun regnet med 30 rækker. Skal rettet ind efter arkivets størrelse.
Celle I1 kopieres nedefter efter behov.
Cellerne J1:K1 fyldes med lignene formler for udtræk fra de andre kolonner
Avatar billede ela_79 Nybegynder
11. marts 2011 - 00:07 #3
Okey det kan jeg bare ikke få til at virke Jens....
Jeg bruger Excel 2003 (Dansk) så måtte lige oversætte.

Hjælpe kolonnen A kan jeg godt få til at virke - Den giver bare et "indeks" til de rækker hvor postnummeret passer med hvad der står i G1.

Men I1 gør absolute intet for mig udover at indsætte et "0".
Oversat til dansk version bliver den...
=HVIS(ER.FEJL(VOPSLAG(RÆKKE();$A$1:$E$30;1;FALSK));"";VOPSLAG(RÆKKE();$A$1:$E$30;2;FALSK))

Det jeg selv nåede frem til var som følger...
I1: =INDEKS($A$1:$D$30;SAMMENLIGN($G$1;$C:$C;0);1)
J1: =INDEKS($A$1:$D$30;SAMMENLIGN($G$1;$C:$C;0);2)
K1: =INDEKS($A$1:$D$30;SAMMENLIGN($G$1;$C:$C;0);4)

Dette virker fint nok til den første post hvor postnummeret stemmer overens, men så kan jeg ikke få I-, J- og K-2 til at hente anden post i tabellen der stemmer overens.

I princippet det jeg mangler er at kunne ændre kildeområdet fra at være A1:D30 til være den række hvor indholdet af I1-K1 blev fundet i - Plus 1. Men hvordan laver jeg lige det område om til at være dynamisk?
Avatar billede Slettet bruger
11. marts 2011 - 01:21 #4
Hvis du har dine data i A1:D30 og det postnummer du vil søge på i J1, så kan du få listet alle navne under dette postnummer med følgende matriksformel:

=HVIS(RÆKKE(1:1)>TÆL.HVIS($C$1:C$30;J$1);"";INDEKS(A$1:A$30;MINDSTE(HVIS($C$1:$C$30=$J$1;RÆKKE($1:$30));RÆKKE(1:1))))
Avatar billede ela_79 Nybegynder
11. marts 2011 - 16:07 #5
Beklager dkhanknu, men jeg prøvede at copy-paste det du forslog ind i cellen "K1" og havde matrixen A1:C30 som data kilde (Forkortet i resultatet nedenfor).

A    B    C    D    E    F    G    H    I    J    K
BA1  AB1  8210 AA1                              1125  BA1
BA2  AB2  8439 AA2
BA3  AB3  4889 AA3
BA4  AB4  8210 AA4
BA5  AB5  1125 AA5

Ender nok op med bare at skrive et lille program i C# der kan gøre det uden brug af Excel. Tager nok næppe længere end dette har gjort indtil nu.
Avatar billede Slettet bruger
11. marts 2011 - 16:39 #6
Det jeg foreslog tog mig to minutter og det virkede. Hvis du vil, kan du sende filen til hans.knudsensnabelamail.tele.dk så skal jeg indsætte formlen.
Avatar billede ela_79 Nybegynder
11. marts 2011 - 16:45 #7
Vi dropper den bare. Jeg har løst det på den anden måde.
11. marts 2011 - 18:55 #8
så luk spørgsmålet
Avatar billede ela_79 Nybegynder
11. marts 2011 - 19:15 #9
Lukket
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