[Excel] Alle gekoppelde waarden vinden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een tabel met "Groep" en "Persoon".
De groep en de persoon worden dus ingevuld.
Op een ander tabblad wil ik een lijst creëren met de personen van een bepaalde groep. Ik weet wel dat er altijd 3 personen in een groep zitten. Dus ik heb 3 cellen waar ik de naam van de personen wil in zien. Alleen geven de functies zoeken en hor.zoeken enkel de persoon van de laatste gevonden groep. Is er een mogelijkheid om te zeggen dat ik niet de eerste, maar de twee instantie wil?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Dat is niet zo heel makkelijk. Stel de eerste is:
code:
1
=VLOOKUP(C1,A1:B9,2,FALSE)

(dus we zoeken op c1 in gebied a1:b9)
Dan is de 2e hit:
code:
1
=VLOOKUP(C1,INDIRECT("a"&MATCH(C1,A1:A9,0)+1&":b9"),2,FALSE)

En de 3e hit:
code:
1
2
3
=VLOOKUP(C1,INDIRECT("a"&
       MATCH(C1,INDIRECT("a"&MATCH(C1,A1:A9,0)+1&":a9"),0)+MATCH(C1,A1:A9,0)+1&":b9"),
  2,FALSE)
Dit wordt dus steeds lastiger. Als je verder dan zeg 5 wil, dan kun je dus beter de volgende oplossing gebruiken:
code:
1
2
3
=INDEX(ALTable,SMALL(IF(OFFSET(ALTable,0,0,ROWS(ALTable),1)=F90,
ROW(OFFSET(ALTable,0,0,ROWS(ALTable),1))-ROW(OFFSET(ALTable,0,0,1,1))+1,
ROW(OFFSET(ALTable,ROWS(ALTable)-1,0,1,1))+1),F91),2)
(invoeren met ctrl-shift-enter)
Met AlTable de tabel waarin je zoekt, F90 de exacte waarde die je zoekt, F91 de matchende instantie die je wilt (vanaf 1), en 2 de kolom die teruggeretourneerd moet worden.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Verwijderd

Topicstarter
Ok, dat werkt allemaal, maar kan het niet gebruiken omdat de kolom waar ik in moet zoeken kan varieren van waarden, het is wel een kolom van een tabel, maar blijkbaar kan ik van een tabelkolom niet te weten te komen wat het bereik in cellen is. Of zie ik iets over het hoofd?

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Je kan ALTable definieren als dynamic range. In 2007, onder formulas->define name bij refers to:
code:
1
=Data!$A$2:INDEX(Data!$B:$B,MATCH(9.99999999999999E+307,Data!$A:$A))

Dit is een range Data!A2:B? met ? de laatste rij in kolom A. In 2003 onder insert->name->define oid. De dollartekens zijn essentieel; niet per ongeluk weghalen anders krijg je een relative dynamic range, en dan snapt niemand meer wat je hebt gedaan ;)

Let op dat dit uitgaat van een getal in de laatste rij in kolom A. Als het om tekst (geen getal) op de laatste rij in kolom A gaat:
code:
1
=Data!$A$2:INDEX(Data!$B:$B,MATCH(REPT("z",255),Data!$A:$A))

Als het om willekeurige content (fouten, getallen, booleans en tekst) gaat wordt het lastiger; soms kan counta gebruikt worden, maar dat werkt niet goed als er gaten zijn.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, dat werkt, maar alleen op gesorteerde kolommen. Het is nu zo dat de kolom waar ik in moet zoeken onmogelijk gesorteerd kan worden. Er is een andere kolom in dezelfde tabel die gesorteerd moet zijn om andere formules goed te laten verlopen.
Hoe kan je iets zoeken in een ongesorteerde rij of kolom?

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ok, ik heb hier 2 stellingen:
  1. De formules die ik hier heb gepost werken ook op ongesorteerde data.
  2. Pedorus heeft teveel bier gedronken.
En dan zou ik toch gaan voor antwoord C - beide stellingen zijn waar... ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten

Pagina: 1