ZoekInMatrix

ZoekInMatrix-sjabloon_2


Wat illustreert het sjabloon ZoekInMatrix ?


Gegevens kun je genormaliseerd opnemen in een lijst waarin je kenmerkende gegevens dubbel invoert en waarin je met standaard Excel functionaliteit kunt filteren en zoeken. Daarnaast is het mogelijk om gegevens in een matrix weer te geven. Het voordeel hierbij is dat je gegevens niet dubbel invoert, het nadeel is dat je een meer omslachtige methode moet hanteren om gegevens uit de matrix te vinden. Hierbij zijn een aantal mogelijkheden binnen Excel die een oplossing kunnen bieden. In dit artikel zullen deze kort worden beschreven. Daarnaast zal een ondersteunend voorbeeldsjabloon gratis uit de webwinkel te downloaden zijn.


Uitgangssituatie:
Hieronder staat de matrix beschreven met gegevens waarmee we in dit voorbeeldsjabloon gaan werken.


ZoekInMatrix-sjabloon_4
ZoekInMatrix-sjabloon_3
De hierboven ingevoerde waarde zal een foutsituatie opleveren, aangezien de betreffende schoenmaat niet in de matrix is opgenomen. Natuurlijk willen we dat deze foutsituaties op een nette manier worden afgehandeld. Voor het opvragen van de bijbehorende prijs bij het opgegeven artikel/schoenmaat is hieronder een aantal alternatieven beschreven. De hieronder beschreven alternatieven corresponderen met de werkbladen in het voorbeeldsjabloon, het is dus aan te bevelen het betreffende sjabloon in eerste instantie gratis te downloaden van onze website en deze naast de beschrijving te leggen.

Oplossingsalternatieven:


ZoekInMatrix(1)

De eerste oplossing maakt gebruikt van de formules HORIZ.ZOEKEN en VERGELIJKEN. Met behulp van de formule HORIZ.ZOEKEN kan met behulp van de bij de schoenmaat ingevoerde waarde de juiste kolom worden opgezocht. Nu de kolom bekend is dienen we nog het rij-index-getal te bepalen. Dit is mogelijk met de formule VERGELIJKEN waarmee we op basis van de ingevoerde waarde bij het artikelnummer kunnen bepalen hoeveel rijen we in de gevonden kolom "naar beneden moeten". Het resultaat van de uiteindelijke formule voor oplossing 1 ziet er (inclusief foutafhandeling) als volgt uit:


=ALS(ISNB(HORIZ.ZOEKEN(E6;E10:I15;VERGELIJKEN(E4;D10:D15);0));"Onbekend";HORIZ.ZOEKEN(E6;E10:I15;VERGELIJKEN(E4;D10:D15);0))


ZoekInMatrix(2)

De tweede oplossing gaat uit van de formules INDIRECT en VERGELIJKEN. Met behulp van de formule INDIRECT kunnen we door het opgeven van het rij- en kolomnummer rechtstreeks "inprikken" in de juiste cel. Met behulp van de formules VERGELIJKEN bepalen we op basis van het opgegeven artikelnummer en de opgegeven schoenmaat de rij- en kolom binnen de gegevensmatrix. Aangezien dit relatieve rij- en kolomnummers zijn, moet deze nog worden "omgezet" naar absolute getallen door hierbij de startrij en de startkolom bij de gevonden rij- en kolomnummers op te tellen. In de beschreven oplossing zijn hiervoor "variabelen" gedefinieerd (MatrixStartRij en MatrixStartKolom) die in de formule worden gebruikt. Het resultaat van de uiteindelijke formule voor oplossing 2 ziet er (inclusief foutafhandeling) als volgt uit:


=ALS.FOUT(INDIRECT("R"&VERGELIJKEN(E4;D11:D15)+MatrixStartRij-1&"K"&VERGELIJKEN(E6;E10:I10)+MatrixStartKolom-1;ONWAAR);"Onbekend")

ZoekInMatrix(3)

De derde oplossing maakt gebruik van de formule INDIRECT en van de wijze waarop Excel met bereiken omgaat. Zie hiervoor ook het w-tje over spelen met bereiken. Wat je wel moet doen is voor elke schoenmaat-kolombereik en artikelnummer-rijbereik voor de zichtbaarheid een naam te definiëren. Het kan ook zonder, maar daar is in deze oplossing niet van uitgegaan. Als je de namen voor de bereiken hebt gedefinieerd (let op de uniforme naamgeving) dan kan je met behulp van de formule INDIRECT en de ingevoerde artikelnummer/schoenmaat dynamisch de te overlappen bereiken samenstellen. Het resultaat van de uiteindelijke formule voor oplossing 3 ziet er (inclusief foutafhandeling) als volgt uit:


=ALS.FOUT(INDIRECT("Schoenmaat"&E6) INDIRECT("Art"&E4);"Onbekend")


Waarbij we bij de naamgeving van de bereiken voor de artikelnummers "Art" en voor de schoenmaten "Schoenmaat" als prefix hebben gehanteerd.

Probeer het maar eens uit.
P.S. We willen hierbij Ton Brouwer bedanken voor zijn bijdrage aan dit artikel.


ZoekInMatrix-sjabloon_5

Heb je nog vragen of suggesties, neem dan gerust contact met ons op.


Inloggen

Inloggen

Mrah Development BV

MRAHDevelopment

Mrah Development BV
Voor uw Excel vragen,
Leuke gratis Excel toepassingen.

ExcelFIX

links_partners_5

ExcelFIX
ExcelFIX herstelt beschadigde
en corrupte spreadsheets die
gemaakt zijn in Microsoft Excel.

Infotron BV


linkspartners_5

www.infotron.nl
Zelf al goed met Excel, maar wilt u bestanden beter begrijpen, valideren en verbeteren?

Exhelp.be

Links_partners_20

ExcelFIX
Dé Vlaamse Excel blog