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

Optimalisatie formule

Status
Niet open voor verdere reacties.

SvenK

Gebruiker
Lid geworden
10 sep 2015
Berichten
26
Hallo,

volgende werkende formule geeft heel wat problemen met performantie in Excel:

=ALS(ISNB(VERT.ZOEKEN([Service agent];InterneTransporteurs[Fwd agent];1;ONWAAR));"";1)

Kan deze anders (beter) geschreven worden?

Mvg,
Sven.
 
Eerlijk gezegd betwijfel ik of die formule echt de oorzaak is van de traagheid, tenzij er heeeeel veel gegevens zijn.
Maar goed, laten we aannemen van wél, dan zou ik - om te beginnen - VERT.ZOEKEN vervangen door VERGELIJKEN omdat je maar in 1 kolom zoekt.
De echte snelheidswinst bereik je door Fwd agent te sorteren en dan met ZOEKEN te zoeken:
Code:
=ALS.FOUT(ALS([Service agent]<>ZOEKEN([Service agent];InterneTransporteurs[Fwd agent]);"";1);"")

Opmerking: de ALS.FOUT vangt de situatie af dat je een Service agent zoekt met een naam/code kleiner dan de kleinste in Fwd agent.
 
Hallo,

je hebt volkomen gelijk, deze formule zorgt niet voor vertraging. Wat is de werkwijze om een uit te zoeken wat er voor vertraging zorgt in Excel?
Zelfs het filteren in de bewuste tabel is zeer langzaam. Excel blijft berekenen en van 88% tot 100% rekenen neemt 5 minuten in beslag. En dit met maar 4000 lijnen aan data.

Sven.
 
Tja, dat is een beetje koffiedik kijken zonder voorbeeldbestand.

Beruchte kandidaten in het algemeen zijn:
- matrixformules, met name als deze over hele kolommen heen gaan,
- veel voorwaardelijke opmaak,
- vluchtige functies zoals VANDAAG(), NU(), INDIRECT(), VERSCHUIVING() die elke keer herberekend worden,
- veel objecten,
- (slechtgeschreven) macro's (bijvoorbeeld met veel selects en/of activates, of die zichzelf recursief aanroepen doordat enableevents niet uitgeschakeld is).
 
berekeningen die over de hele kolom gaan (ook als dit geen matrixformules zijn).
 
Probleem zat hem in een formule (verschuiving ...) in de name manager die plotseling een verw# had.
Eenmaal deze formule aangepast verloopt alles terug vlot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan