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

Matrix automatisch invullen

Status
Niet open voor verdere reacties.

Morriss

Gebruiker
Lid geworden
7 feb 2008
Berichten
131
Ik heb een tabel waarin horizontaal en verticaal gegevens staan die als een matrix ingevuld kan worden. Ik wil graag dat excel zelf zoekt en de combinaties maakt. Hoe kan ik dit het beste aanpakken? In de bijlage een voorbeeldje.Bekijk bijlage voorbeeld.xlsx

Alvast bedankt voor de moeite!!!
 
Sorry, het verkeerde voorbeeld bijgevoegd :S

in die bovenste tabel/matrix staan de gegevens die de input zijn, nou wil ik graag dat excel de gegevens die daaronder staan genereert. (Dus dat ie zoekt welke horizontale en verticale gegevens bij het 1tje en bij het 2tje horen.)

Ik hoop dat het zo iets duidelijker is?
 

Bijlagen

Dit is inderdaad precies wat ik bedoel. Alleen zou ik nu graag willen weten hoe het opgebouwd is, zodat ik dingen kan aanpassen naar wens. Stel dat ik bijvoorbeeld twee spaties wil hebben in cel 21C tussen de 'A' en de 'H'. Hoe pak ik dat aan.

Bedankt in ieder geval!
 
Laatst bewerkt door een moderator:
Dan pas je deze lijn in de code aan:
Code:
.Add lng2, rng(cl.Row - rng(1).Row + 1, 1).Value & rng(1, cl.Column - rng(1).Column + 1).Value
naar
Code:
.Add lng2, rng(cl.Row - rng(1).Row + 1, 1).Value [COLOR="#FF0000"]&"  " &[/COLOR] rng(1, cl.Column - rng(1).Column + 1).Value
 
Sorry, maar dit is de enige code die ik zie:


Code:
=ALS.FOUT(Kop($B$9:$G$15;$B$21;RIJEN($1:1));"")
 
Laatst bewerkt door een moderator:
=ALS.FOUT(Kop($B$9:$G$15;$B$21;RIJEN($1:1));"")
Dat is geen code, dat is een formule, die in dit geval een "function" gebruikt met de naam "Kop". "Kop" is geen ingebouwde Excel functie (zoals Som, Als, Index, etc..) maar een User defined Function, die zich in het voorbeeldbestand bevindt in "Module 1". Via Alt/F11 kom je in de VB Editor, open "Module 1" en daar zie je de code van de UDF "Kop".
Indien je hier totaal niet mee vertrouwd bent, is het misschien beter te wachten tot iemand een oplossing aanbiedt die "normale" Excelfuncties gebruikt.
 
Dat is geen code, dat is een formule, die in dit geval een "function" gebruikt met de naam "Kop". "Kop" is geen ingebouwde Excel functie (zoals Som, Als, Index, etc..) maar een User defined Function, die zich in het voorbeeldbestand bevindt in "Module 1". Via Alt/F11 kom je in de VB Editor, open "Module 1" en daar zie je de code van de UDF "Kop".
Indien je hier totaal niet mee vertrouwd bent, is het misschien beter te wachten tot iemand een oplossing aanbiedt die "normale" Excelfuncties gebruikt.

Okey, ik heb ook even naar je andere oplossing gekeken zonder UDF, maar dat ziet er een stuk ingewikkelder uit en ik vind het geen probleem om me wat verder te verdiepen in Excel. Raad je dan aan die UDF te gebruiken of die andere oplossing?
 
De formule waarin je de UDF gebruikt is natuurlijk een stuk eenvoudiger van opbouw, maar dan is het nuttig je te verdiepen in de VBA-taal waarin de code geschreven is.
Anderzijds zul je ook voordeel hebben van het proberen te begrijpen van de ingewikkelde formule met normale functie's.
"No pain, no gain" zeg maar.
 
Welke is het meest bewerkelijk als ik nog andere voorwaarden of iets dergelijks zou willen toevoegen? Of kan met allebei ongeveer evenveel? En hoe kan ik het beste beginnen te leren/uitzoeken van welke manier ik dan ook kies?
 
Laatst bewerkt door een moderator:
Ik heb geprobeerd deze manier toe te passen door de formules aan te passen naar de matrix die ik nodig had (dus ik heb alleen cellen waar de formule naar verwijst aangepast en de formules in een andere sheet geplaatst.

Nu komt er in de cel van de hulpkolom niets te staan bij en in de cel waar (=ALS.FOUT(INDEX($J$14:$J$20;INTEGER(FB278/10)) in staat krijg ik de volgende foutmelding: "er ontbreekt een haakje in de formule: ) of (. Controleer de formule en voeg het haakje op de juiste plaats toe."

Hoe krijg ik het voor elkaar dat de hulpkolom gevuld wordt en de formule (=ALS.FOUT(INDEX($J$14:$J$20;INTEGER(FB278/10)) werkt?

Een aanpak met "normale" Excel-functies.
 
(=ALS.FOUT(INDEX($J$14:$J$20;INTEGER(FB278/10))
Dit is maar een stukje van de formule, er ontbreekt minstens de helft (en dus waarschijnlijk ook een aantal haakjes).
De formule in het voorbeeld (in cel C21 bijvoorbeeld) is:
Code:
=IFERROR(INDEX($B$10:$B$15;INT(D21/10))& "  "&INDEX($C$9:$G$9;1;MOD(D21;10));"")
 
De formules in de hulpkolom (lichtblauwe gebied) zijn matrixformules, die moet je bevestigen met ctrl+shift+enter in plaats van gewoon enter.
 

Bijlagen

Beste WHER, in de bijlage het document toegevoegd waarin het uiteindelijk zou moeten werken met wat voorbeeldcodes. De codes heb ik zoals eerder gezegd omgevormd naar mijn eigen sheet, maar de cellen blijven leeg. Weet jij wat ik fout doe?

BEDANKT!!
 

Bijlagen

Zie bijlage.
Dit soort matrixformules omzetten van een voorbeeldbestand naar een "echt" bestand met iets andere layout is inderdaad niet zo eenvoudig. Probeer daarom de formules met de "Evaluate" button (in de vorm van een loep, met de tekst "fx") meerdere keren te doorlopen om de samenhang tussen de verschillende onderdelen te begrijpen.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan