[XL 2007] Trage worksheet bij veel Vlookup

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
Het zit zo,

op mijn werk heb ik een groot excel blad gemaakt dat de huidige stock bijhoud.
Er worden hier verschillende producten gemaakt, en elk product heeft zijn specifieke onderdelen.
elke dag boek ik in welke producten zijn gemaakt, en welke onderdelen aangeleverd worden.

Dit programma loopt nu al enkele maanden met succes, maar het programma is zo groot en zo complex dat het enorm traag is.

Openen van het document duurt 3-5 minuten.
Opslaan duurt 2-4 minuten.
Hierdoor loopt het programma ook minder stabiel, en krijg ik één keer in de maand wel te maken met een vastloper,..


Ik heb al eens gelezen dat de manier van programeren veel uitmaakt in de snelheid van een worksheet.
maar na een uurtje lezen in het artikel was ik compleet het noorden kwijt..


Ik wil nu het programma vanaf nul herschrijven, maar wil dit beter aanpakken dan voorheen.

Hiervoor wil ik gerust een cursus excel gaan volgen, maar dan wel één die mijn probleem oplost,
de meeste functies binnen excel ken ik wel, maar ik weet ook dat sommige formules op meerder manier kan geschreven worden, en ik wil leren welke formules het effecienste hun werk doen.

ook zou het kunnen dat ik mijn programma in Access moet schrijven, maar ik weet niet of de mogelijkheden hier beter zijn; en of het programma daardoor sneller gaat lopen.


Het programma.
- 2000-10.000 Producten
- 500-1000 onderdelen
- Ingave dagelijks welke producten geproduceert worden
- ingave welke onderdelen geleverd worden.

hoe gaat dit bij mij in zijn werk
ingave producten.
hier heb ik een lijst waarbij ik elke dag invul wat er geproduceert wordt.
een Vlookup functie houdt bij hoeveel stuks van elk product gemaakt worden.
dit gaat hij vermenigvuldigen met het aantal onderdelen.

maar elke keer het programma opstart, moet hij alle dagen productie dat ik heb bijgevoegt weer gaan uitrekenen.

de ingave van onderdelen gaat op een eenzelfde manier.

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
Ik ben nu begonnen aan het nieuwe werkblad, en ik ga mijn ideeën hier neerpennen, zo kunnen jullie mij tips geven en mij aanwijzingen geven in welke richting ik moet gaan.

wat ben ik nu van plan,
VBA deze getallen laten berekenen, en de dagelijks deze cellen dit laten berekenen. zodat de worksheet niet telkens alles moet uitrekenen.

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Ik heb dit per mail al naar verschillende mensen in mijn bedrijf gestuurd:

EXCEL IS A SPREADSHEET, NOT A DATABASE

Door VLookUp en HLookUp en wat VBA code kan je heel veel - te veel - doen met Excel waar het nooit voor bedoeld is. In plaats van Excel te leren kan je beter PHP en SQL leren. Als dit iets te veel van het goeie is, ga aan de slag met MS Access. Maar lees zeker eerst iets over database normalization.

Hoe dan ook: wat je nu doet gaat wel, maar de reden dat het traag gaat is omdat je Excel gebruikt voor iets waar het niet voor dient.

Zie ook:
http://adminsecret.monste...9-excel-is-not-a-database

[ Voor 20% gewijzigd door YellowOnline op 07-12-2010 20:46 ]


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
eens kijken of ik ergens een sql-php cursus kan volgen..
thx

Edit:
kan Access mijn noden vervullen? want dat is misschien nog zelf aan te leren.

[ Voor 42% gewijzigd door MikeVM op 07-12-2010 22:38 ]

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

MikeVM schreef op dinsdag 07 december 2010 @ 22:34:
(...)
kan Access mijn noden vervullen? want dat is misschien nog zelf aan te leren.
Eigenlijk wel ja. De standaard NorthWind database die sinds jaar en dag bij Access zit illustreet dat. Tegenwoordig moet ze misschien wel gedownload worden. Zie oa. hier: http://blogs.msdn.com/b/a...ase-is-now-available.aspx.

[ Voor 37% gewijzigd door YellowOnline op 07-12-2010 23:11 ]


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
Goed ik ben nu bij Access begonnen.

ik maak nu tabellen aan voor volgende onderwerpen.
Producten
Parts
Leveranciers
Klanten

Hoe kan ik nu het beste per product de hoeveelheden Parts selecteren?

[ Voor 109% gewijzigd door MikeVM op 08-12-2010 12:13 ]

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Daar kan je een query voor maken, afhankelijk van het precieze datamodel. Maar het lijkt me heel erg aan te raden om, ondanks dat Access er zoveel makkelijker uit ziet en de suggestie wekt dat je gewoon kan klikken&klaar, eerst even een boekje door te lezen over goed gebruik van relationele databases in het algemeen en Access specifiek. Zonder vooraf goed na te denken over de opzet gaat het namelijk gegarandeerd fout. (Ook al gaat het lang goed: zie ook Excel en de performance).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
ik overweeg het heel sterk om eerst een cursus te volgen hierover.

misschien eens vragen of ik een cursus kan scoren bij de studenten..

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • Ennas
  • Registratie: Augustus 2001
  • Laatst online: 26-06 18:21
Alle antwoorden over het niet gebruiken van de juiste tool zijn juist.
Dat lost je probleem voor nu natuurlijk niet op.

Een van de eerste dingen die je kunt gaan doen is zorgen dat automatisch herberekenen uitstaat en dat je die alleen aanzet wanneer dat nodig is.

Voor trage Vlookup functionaliteit zijn er 2 oplossingen. De eerste is ervoor zorgen dat je data gesorteerd staat op de zoekkolom En dat je in de functie niet "FALSE" als laatste waarde hebt maar "TRUE"(mist de gezochte waarde zeker weten voorkomt)

Een tweede optie is om in plaats van VLookup MATCH te gebruiken. Je krijgt dan de rijwaarde terug. Als je Match gebruikt in combinatie met de INDEX functie, dan vind je de gewenste waarde ook terug. De combinatie MATCH en INDEX is veel sneller voor Excel dan Vlookup.

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Ennas schreef op woensdag 08 december 2010 @ 21:14:
Alle antwoorden over het niet gebruiken van de juiste tool zijn juist.
Dat lost je probleem voor nu natuurlijk niet op.

Een van de eerste dingen die je kunt gaan doen is zorgen dat automatisch herberekenen uitstaat en dat je die alleen aanzet wanneer dat nodig is.

Voor trage Vlookup functionaliteit zijn er 2 oplossingen. De eerste is ervoor zorgen dat je data gesorteerd staat op de zoekkolom En dat je in de functie niet "FALSE" als laatste waarde hebt maar "TRUE"(mist de gezochte waarde zeker weten voorkomt)

Een tweede optie is om in plaats van VLookup MATCH te gebruiken. Je krijgt dan de rijwaarde terug. Als je Match gebruikt in combinatie met de INDEX functie, dan vind je de gewenste waarde ook terug. De combinatie MATCH en INDEX is veel sneller voor Excel dan Vlookup.
Offtopic maar... een plotse reactie na 9 jaar stilte! :o

@Alargule hieronder: Eerste post van Ennas sinds 2001 ;)

Acties:
  • 0 Henk 'm!

Verwijderd

? De startpost is van gisteren...

Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 23-09 19:49

MikeVM

- Baloo -

Topicstarter
offtopic:
Yellowonline heeft het over de persoon Ennas, die vorige keer in 2001 zijn laatste post maakte, nu na 9 jaar stilte duikt hij weer op in dit topic..


ik ben al een stukje opgeschoten in mijn access database, ik neem het principe over van Northwind, beetje bij beetje ontrafel ik de mirakels van northwind.

nu heb ik nog een vraagje.

ik zou mijn producten in groepen willen onderdelen..

ik heb 2000 producten.
deze bestaan uit telkens een 50tal onderdelen.
maar deze onderdelen zijn voor veel producten hetzelfde op enkele accesoires na.

nu wil ik subgroepen aanmaken, waarin de basisonderdelen inzitten, die telkens uit een specefieke groep onderdelen bestaan, hierdoor kan ik makkelijk producten bijvoegen, zonder dat 50 onderdelen moet toevoegen. Aangezien het productenbestand maandelijks aangepast moet worden. zou me dit veel werk kunnen besparen.

maar kan ik dan met een query rechtstreeks alle onderdelen laten zien van de producten, zodat ik die subgroepen vervang door diens onderdelen?

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • Ennas
  • Registratie: Augustus 2001
  • Laatst online: 26-06 18:21
Het handigste is om je meer tabellen te maken en een Lookup naar die tabellen te maken.
Zoek anders eens naar een online cursus database normaliseren. Dat kan je goed helpen in dit geval.

@iedereen over deze 9 jaar stilte.Ik ging van e-mail adres wijzigen, dus moest bij mijn profiel komen om de nieuwsbrief gegevens te wijzigen. En toen dacht ik, laat ik eens iets posten. Heb overigens tussendoor wel eens onder een ander account iets gepost, maar niet zo heel vaak. Ik was al vergeten dat ik deze inlognaam nog had. Is dit een record stilte?

Acties:
  • 0 Henk 'm!

  • Kixtart
  • Registratie: Mei 2004
  • Niet online

Kixtart

Destruction = Improvement

Ennas schreef op woensdag 08 december 2010 @ 21:14:
Alle antwoorden over het niet gebruiken van de juiste tool zijn juist.
Dat lost je probleem voor nu natuurlijk niet op.

Een van de eerste dingen die je kunt gaan doen is zorgen dat automatisch herberekenen uitstaat en dat je die alleen aanzet wanneer dat nodig is.

Voor trage Vlookup functionaliteit zijn er 2 oplossingen. De eerste is ervoor zorgen dat je data gesorteerd ...
Daarnaast moet je ook opletten dat je geen A:A gebruikt maar de exacte range. Mocht de aantal rows/columns nog wel eens veranderen dan kan je gebruik maken van dynamic ranges. Die Match/Index is vooral handig, aangezien je dan geen onnodige columns gebruikt.

☻/
/▌
/ \

Pagina: 1