Zoeken van een waarde als voldaan wordt aan 3 voorwaarden

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tabel:

A B C D E
----- ---- ---- ---- ----
100 X 10 - NTR
100 Y 15 - JIL
100 X 15 - JAP
200 Y 10 - OOP
200 X 15 - QYT

Ik wil nu de waarde JAP vinden als er voldaan is aan de volgende 3 voorwaarden:
A=100 en B=X en C=15

Ik heb het volgende geprobeerd:

= INDEX (A1:E5;VERGELIJKEN (100;A:A;0) * (X;B:B;0) * (15;C:C;0);5)

maar krijg de volgende melding als resultaat: #VERW!

Mijn vraag is nu: Wat doe ik fout en is dit de juiste benadering voor dit probleem ?

Beste antwoord (via Lustucru op 21-06-2017 16:49)


  • loeberce
  • Registratie: Februari 2009
  • Laatst online: 11-09 16:47
VERT.ZOEKEN is een functie die als het wat complexer wordt behoorlijke beperkingen heeft, zoals het automatisch berekenen, zelfs als het werkblad op handmatig berekenen is ingesteld.
Met INDEX en VERGELIJKEN krijg je de volgende variant (array formule dus invoeren met CTRL-SHIFT-Enter)

={INDEX(A1:E5;VERGELIJKEN(1;(A1:A5=100)*(B1:B5="X")*(C1:C5=15);0);5)}

Alle reacties


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op zondag 18 juni 2017 @ 20:22:
[...]Ik heb het volgende geprobeerd:

= INDEX (A1:E5;VERGELIJKEN (100;A:A;0) * (X;B:B;0) * (15;C:C;0);5)

maar krijg de volgende melding als resultaat: #VERW!

Mijn vraag is nu: Wat doe ik fout en is dit de juiste benadering voor dit probleem ?
Ik ben wel benieuwd wat de achterliggende gedachte van deze formule is? Eigenlijk is het al knap dat je deze zo ingevoerd hebt gekregen, want normaal zou Excel al protesteren dat de formule een fout bevat.

Anyway, de juiste benadering is idd een index, vergelijken combinatie waarbij er gezocht wordt naar de waarde 1 in een matrix van vergelijkingen. Daar lijkt jouw formule wel op. Een formule van het internet geknipt en slecht geplakt?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Goku33
  • Registratie: Oktober 2002
  • Laatst online: 11-09 14:18

Goku33

Ownage!

Ik los dat altijd op door waardes samen te voegen in 1 cel zodat je "gewoon" kunt verticaal zoeken. Misschien niet het mooist maar het werkt wel.

In dit geval voeg je een nieuwe kolom in tussen D en E (dit wordt dus kolom D) en daar voeg je de eerste 3 waardes samen:
=A2&"_"&B2&"_"&C2
Die trek je door naar onderen.

Elders kan je dan verticaal zoeken op die nieuwe kolom: =VERT.ZOEKEN(A2&"_"&B2&"_"&C2;D:E;2;0)

Acties:
  • +1 Henk 'm!

  • Atanamir
  • Registratie: December 2014
  • Laatst online: 11-09 17:53
Verticaal zoeken lijkt me inderdaad de makkelijkste oplossing.

Index / vergelijken werkt ook prima, alleen iets complexer.
Overigens kun je vergelijken ook op deze manier gebruiken:
VERGELIJKEN("100"&"X"&"15";A1:A5&B1:B5&C1:C5;0)

Let er dan alleen even op dat je de formule als array invoert (ctrl + shift + enter)

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 11-09 18:22
Atanamir geeft hierin de oplossing. Het resultaat is het rijnummer dat je zoekt. Die in je index zetten en je hebt je waarde

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • loeberce
  • Registratie: Februari 2009
  • Laatst online: 11-09 16:47
VERT.ZOEKEN is een functie die als het wat complexer wordt behoorlijke beperkingen heeft, zoals het automatisch berekenen, zelfs als het werkblad op handmatig berekenen is ingesteld.
Met INDEX en VERGELIJKEN krijg je de volgende variant (array formule dus invoeren met CTRL-SHIFT-Enter)

={INDEX(A1:E5;VERGELIJKEN(1;(A1:A5=100)*(B1:B5="X")*(C1:C5=15);0);5)}
Pagina: 1