• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

verticaal zoeken onder bepaalde voorwaarde (als)

Status
Niet open voor verdere reacties.

mayflower

Gebruiker
Lid geworden
21 jul 2009
Berichten
38
Goedendag allemaal, ik heb al hier op het forum en verderop internet gezocht maar niet gevonden. Ik heb het volgende probleem (zie ook de bijgevoegde Excel bestand).

Ik heb meerdere landen waar de kostprijs van identieke producten verschillen. Dus voor Duitsland wil ik de kostprijs in Duitsland ophalen en voor Frankrijk die van Frankrijk etc.

Dus zoiets als: zoek de prijs van product X waarbij het land gelijk is aan Duitsland

Nou lijkt deze formule te werken voor Duitsland
Code:
=ALS(VERT.ZOEKEN(C$2;Blad2!B:B;1;ONWAAR)=C$2;VERT.ZOEKEN(A3;Blad2!A:C;3;ONWAAR);"?")

Maar als ik de formule kopieer naar de volgende kolom Frankrijk (en hem aanpas voor Frankrijk) dan krijg ik toch weer de prijzen van Duitsland te zien
Code:
=ALS(VERT.ZOEKEN(D$2;Blad2!B:B;1;ONWAAR)=D$2;VERT.ZOEKEN(A3;Blad2!A:C;3;ONWAAR);"?")

Er klopt dus iets niet. De formuile pakt gewoon de eerste de beste keer dat ie product X tegenkomt.
Daarnaast als de vergelijking onwaar is dan verwacht ik een ?. Nu krijg ik een 0 als de te vinden cel leeg is.

Dank voor jullie suggesties!
 

Bijlagen

Er klopt dus iets niet.
Klopt prima. VERT.ZOEKEN geeft altijd de eerste overeenkomst weer.

Een alternatief:
Code:
=ALS.FOUT(1/(1/SOMPRODUCT((Blad2!$A$2:$A$1000=$A3)*(Blad2!$B$2:$B$1000=C$2)*(Blad2!$C$2:$C$1000)));"?")
Of deze matrixfunctie (dus afsluiten met Control+Shift+Enter):
Code:
=ALS.FOUT(INDEX(Blad2!$C:$C;VERGELIJKEN($A3&D$2;Blad2!$A$1:$A$1000&Blad2!$B$1:$B$1000;0));"?")
 
Laatst bewerkt:
probeer eens in F3 :
Code:
=SUMPRODUCT((A3&$D$2=Blad2!$A$2:$A$7&Blad2!$B$2:$B$7)*(Blad2!$C$2:$C$7))
 
Enorm bedankt. Alle drie de formules werken. Alleen de tweede begrijp ik. Dat delen en/of vermenigvuldigen in de formule kan ik niet beredeneren. :confused: De tweede wel. Daar ga ik mee verder.
Nogmaals bedankt! :thumb:
 
In de SOMPRODUCT vermenigvuldig je eigenlijk per rij een tweetal voorwaarden met de bijbehorende waarde kolom C, waarbij WAAR=1 en ONWAAR=0.
Rijen waarbij alle voorwaarden WAAR zijn resulteren in de bijbehorende waarde uit kolom C, de rest in een 0.

De eerste deling is om een foutmelding op te wekken als de uitkomst uit de somproduct 0 is. De ALS.FOUT maakt dan van de foutmelding een vraagteken.
De tweede deling is om de originele waarde terug te krijgen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan