• 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.

Formule INDEX + Vergelijken resulteert in #N/B, terwijl de formule juist is (F9)

Status
Niet open voor verdere reacties.

DijkstraR

Gebruiker
Lid geworden
26 aug 2014
Berichten
16
Hallo,

Vaag iets en ik ben er al heeeeeeel lang mee bezig op te lossen:

Ik heb een formule voor INDEX en Vergelijken, omdat ik iets wil zoeken met meerdere criteria of voorwaarden:
({=INDEX(Abonnement!A:F;(VERGELIJKEN(1;(Abonnement!A:A=A2)*(Abonnement!H:H<F2)*(Abonnement!I:I<>"");0));6)})

Deze resulteert in een #N/B fout. Als ik op F9 klik dan geeft de formule mij wel het juiste antwoord.
Hoe kan het dat deze toch in een foutmelding schiet, terwijl excel zelf het juiste antwoord er wel bij geeft...???

Hopelijk kunnen jullie mij helpen en is hier een echte expert op het forum :)
Document bevat gevoelige informatie en kan ik eigenlijk niet verspreiden. (tenzij ECHT nodig)

Graag jullie reactie!

Groet,
Reinout
 

Bijlagen

  • Openstaande posten debiteuren_anoniem.xlsb
    21,1 KB · Weergaven: 45
Laatst bewerkt:
Je formule is in ieder geval een matrix-functie (afsluiten met Control+Shift+Enter), maar volgens mij gaat het zo niet werken. Ik heb geen glazen bol om te bepalen wat je wel zoekt, dus een alternatief heb ik nog niet. Hiervoor graag toch een voorbeeld plaatsen hier.

Document bevat gevoelige informatie
Dat kan eruit gehaald worden of vervangen door dummy informatie. Of maak een gelijkend voorbeeld en plaats dat hier.
 
Laatst bewerkt:
Tanx voor de snelle reactie!
Bij deze bijlage aan vorig bericht toegevoegd.

Het gaat om tabblad: Openstaande posten debiteuren -> Kolom T (de formule)
 
Laatst bewerkt:
Mooi zo. Nu zou ik nog graag willen weten wat de juiste uitkomst moet zijn van "de formule die niet werkt".

Je zoekt via de INDEX-functie iets in de 6-de kolom op tabblad "abonnement". Dat is een omschrijving, bijvoorbeeld bij test1 hoort "VGE Hardenberg/Twente". Klopt dat en zoek je misschien dit ook nog? Hier is een vrij simpele oplossing voor (VERT.ZOEKEN). Maar ik vermoed dat je wat anders zoekt...
 
Laatst bewerkt:
Ja dat is inderdaad de oplossing (druk op F9 in de formule).
Met verticaal zoeken lukt het niet, omdat ik op meerdere criteria moet zoeken (3 stuks)

Zoals je ziet bij test 3 kan de kostenplaats verschillen afhankelijk van het boekstukdatum.
Ik kreeg het niet voor elkaar om met vertikaal zoeken meerdere criteria in te vullen.
Via het internet kwam ik dit tegen...

Indien je betere suggesties hebt dan hoor ik die graag.
Volgens mij klopt de formule wel (en de gestelde criteria), maar snap de foutmelding niet.

Wederom bedankt!
 
1. Cursor in T2, achter de formule
2. Druk op Control+Shift+Enter
3. Voer formule door

Geeft dit de gewenste resultaten?
 
Aha :)

Dat geeft inderdaad het gewenste resultaat.
Als ik deze nu naar mijn eigen sheet doe dan wordt de sheet ENOOORM traag.
Het zijn 1000 rijen en op de ander 300 denk ik. Niet extreem groot lijkt mij?
Heb je daar ook nog een slim trucje voor? :)

You are the best!
 
een work-around is een hulpcolom met =A1&B1&C1, en dan naar de volledige combinatie zoeken met v-lookup.

Sorry zie nu dat voorwaarde 2 nummeriek is, dit werkt dan niet denk ik
 
Ja alleen dan werkt de groter dan en/of gelijk aan niet meer.
Dat is voor exacte lookups.

Ik denk dat ik het hier mee moet doen.
Dacht dat indexen sneller was dan vlookups.

Wederom dank!
 
Zoals ik ook al stelde in post #2 is je formule een matrixfunctie. (info: https://support.office.com/nl-nl/article/matrixformules-richtlijnen-en-voorbeelden-7d94a64e-3ff3-4686-9372-ecfd5caa57c7). Deze functies rekenen met reeksen getallen, i.p.v. enkele waarden. Teveel van deze functies in een sheet en je hebt een aardige processor met bijbehorend geheugen nodig.

Wat je nog kunt proberen is het bereik waarop de functie betrekking heeft te verkleinen: Abonnement!A:A betreft meer dan een miljoen waarden! Dat 1000x vergelijken, en dat 3x zoals in je formule geeft meer dan 3 miljard berekeningen!

Dus gebruik bijvoorbeeld Abonnement!A1:A1000 als verwijzing. Dat moet al enorm schelen in benodigde rekencapaciteit... maar nog steeds kan het wel even duren.
 
Je hebt gelijk. Dat ga ik proberen.
Bedankt voor je snelle en fantastische hulp!
 
Succes ermee.

Zet je de vraag nog even op "opgelost" als je tevreden bent?
 
Laatst bewerkt:
Maak gebruik van tabellen dan is het bereik altijd correct.
 

Bijlagen

  • Openstaande posten debiteuren_anoniem.xlsb
    23,7 KB · Weergaven: 56
=INDEX(Abonnement!A:I;(VERGELIJKEN(1;(Abonnement!A:A=A3)*(Abonnement!H:H<=E3)*(Abonnement!J:J>=E3); 0));6)

Wat mij opvalt in deze formule is het volgende:

De Functie vergelijken moet als volgt worden ingevuld: VERGELIJKEN( zoekwaarde;zoekmatrix,ctriterium)

Waar de zoekmatrix moet staan staat bij jouw formule:
Abonnement!A:A=A3)*(Abonnement!H:H<=E3)*(Abonnement!J:J>=E3
dat is een logische vermenigvuldiging van 3 voorwaarden. Het resultaat daarvan kan alleen maar WAAR of ONWAAR zijn. Het moet echter een range zijn, een adres dus.
Het lijkt erop dat dit niet functioneert.
 
Het klopt dat er WAAR/ONWAAR uit de vermenigvuldiging komt, maar door de matrix-functionaliteit wordt dit wel een reeks met WAAR/ONWAAR argumenten. De VERGELIJKEN functie zoekt de eerste WAAR op uit de reeks en geeft de positie ervan terug. Middels de INDEX zou dan de juiste waarde opgezocht moeten worden uit het opgegeven bereik.

Ik heb het e.e.a. niet zelf meer gecontroleerd omdat TS de juiste verwachte antwoorden kreeg naar eigen zeggen...
 
Opgelost!

Fantastisch.

(ctrl + shift + enter was de oplossing voor de matrix formule)
(Een fatsoenlijk bereik opgeven heeft ervoor gezorgd dat de sheet snel werkt)
 
De suggestie van V&A zorgt altijd voor het optimale gebied;
iets aangepast:

PHP:
=INDEX(Table1[KPL22];MATCH(1;(Table1[Naam]=[@[Organisatie/persoon Naam]])*(INT(([@Boekstuk]-Table1[Begin])/(Table1[Einddatum]-Table1[Begin]))=0); 0))
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan