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

Andere mogelijkheid dan Matrix formule

Status
Niet open voor verdere reacties.

ExcelTonnie

Gebruiker
Lid geworden
5 jul 2016
Berichten
311
Op dit moment een bestand met vele duizenden regels waardoor de matrix formule erg lang duurt.
Is er een andere manier om te snel te regelen.
Er moet een vergelijk gemaakt worden tussen een datum en een dienst met als uitkomst het juiste Team.
Zoals het nu is werkt het maar duurt me veel te lang.
Heb een deel uit het origineel gehaald om aan te duidelijk zoals het nu werkt.

S.v.p. Code moet compitable zijn met Excel/vba 2016

Code:
De matrix formule als volgt.

{=INDEX(ProdPlanning!$A:$D;VERGELIJKEN(1;(ProdPlanning!$A:$A=--A2)*(ProdPlanning!$B:$B=C2);0);4)}
 

Bijlagen

Laatst bewerkt:
Het gaat al een stuk sneller als je gebruik maak van je tabel in het eerste blad i.p.v. gehele kolommen.
 
En het is geen matrixfunctie...

Vergelijken functie over een miljoen rijen en dat 5000x wordt traag ja... Dit een optie misschien voor Y7?
Code:
=ALS.FOUT(INDEX(Planning_tbl[Team];SOMPRODUCT((Planning_tbl[Datum]=Y4)*(Planning_tbl[Dienst]=Y5)*RIJ(Planning_tbl[Team]))-1);"?")

Wat is het verschil tussen de twee tabellen? Ze lijken erg op elkaar.

In Power Query kun je ook tabellen aan elkaar koppelen.
 
Laatst bewerkt:
Dat is het nadeel van Office 365 om dat te controleren.

Toch even een oud bestandje bekeken waar ik het toch al matrix heb ingevoerd.
 
Ok, toch een matrix. Kon het ook niet meer controleren... :(

In bijlage misschien nog een optie met Power Query die 2 tabellen aan elkaar koppelt, daarna nieuwe tabel maakt ("dagplanning") en met slicers gefilterd kan worden.
 

Bijlagen

Laatst bewerkt:
Voor xl365: In D2
Code:
=FILTER(Planning_tbl[Teamleider];(Planning_tbl[Datum]=Tabel2[@[Label
datum]])*(Planning_tbl[Dienst]=Tabel2[@Dienst]))
 
Bedankt allen voor jullie hulp.

Ik heb toch maar het advies van HVS opgevolgd en de verwijzingen absoluut gemaakt i.p.v. de kolommen en inderdaad werkt wel een stuk sneller.
 
2 formules zijn voldoende:
In p-planning:

PHP:
=IFERROR(INDEX({"L. Spijkerman";"A. Bektas";"M. Mijenhorst";"G. Geerdink";"D. Dzillics"};CODE([@Team])-64);"")
In dagblok matrix:
PHP:
=INDEX(Planning_tbl[Teamleider];MATCH([@datum]&[@Dienst];Planning_tbl[Datum]&Planning_tbl[Dienst];0))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan