Prejšnji teden je na Ignite ekipa Excel predstavila dinamična polja. Danes si podrobneje oglejte funkcijo RANDARRAY.
Pred kratkim, ko sem vstopil v igro Excel Hash, sem ustvaril model za izračun možnosti, da bo Zemlja do leta 2196 dobila novo turistično atrakcijo, krater Bennu. Ta model je izvedel trideset milijonov izračunov in zahteval 200.001 formul skupaj s 100- podatkovna tabela vrstic. Tu so formule, uporabljene v 200.001 celicah:

Za poenostavitev modela bi namesto funkcije RAND uporabili RANDARRAY (100000). To bo povzročilo, da bo formula izračunala 100.000-krat.
-
Začnete z zamenjavo RAND () z RANDARRAY (100000), da ustvarite 100.000 odgovorov:
RANDARRAY(100000)
-
Pošljite RANDARRAY na NORM.INV, da boste izračunali 100.000 lokacij
NORM.INV(RANDARRAY(100000),$H$4,$H$5)
-
Pošljite NORM.INV v VLOOKUP, da ugotovite, ali Bennu vpliva na Zemljo:
VLOOKUP(NORM.INV(RANDARRAY(100000),$H$4,$H$5),$N$23:$O$179,2,TRUE)
-
In na koncu seštejte rezultate 100K
=SUM(VLOOKUP(NORM.INV(_xlfn.RANDARRAY(100000),$H$4,$H$5),$N$23:$O$179,2,TRUE))
Končni model za izvedbo 100.000 poskusov je vsebovan v eni formuli:

Velikost datoteke se močno zmanjša: s 3.270.979 bajtov na 37.723 bajtov. Recalc čas se prepolovi. Oglejte si čas Recalc v spodnjem videu.
Oglejte si video
Prenesite datoteko Excel
Če želite prenesti datoteko excel: streamlining-the-bennu-model-with-randarray.xlsm
Od zdaj do konca leta 2018 brezplačno objavljam svojo novo e-knjigo Excel Dynamic Arrays Straight To The Point.
Excel Misel dneva
Za nasvet glede Excela sem prosil prijatelje Excel Excel. Današnja misel o premišljevanju:
"Ime tabele vedno začni z 'tbl'"
Dietmar Gieringer