Telefonszámunk: 1-472-0679

MNB árfolyamlista – következő munkanap

2019-07-15 - horvimi - Megtekintések száma: 359 - Kategória: Általános tippek, Függvények
Hivatkozott Excel verzio: Excel 2010 Excel 2016 Office365

A lényeg az előző részben van, ahol PowerQuery-vel csatlakozunk az MNB honlapjához, és onnan töltjük be a két dátum közötti árfolyamlistát.

Ebben a részben a használatára nézünk példát. Mert ugye a letöltött dátum intervallum nem folytonos, a munkaszüneti napok hiányoznak belőle. Ezért ha mi egy munkaszüneti naphoz keresnénk napi árfolyamot, akkor az FKERES hibát fog visszaadni. A bal oldali ábrán kiemeltem, hogy például hol maradnak ki a hétvégék a listából. A jobb oldali ábrán van egy dátum listánk, amely napokhoz Euró árfolyamot szeretnénk keresni a letöltött táblázatból, akkor a hiányzó napokra az FKERES hibát fog visszaadni. A feladat az, hogy ha nem találunk pontos dátum egyezést, akkor a következő létező munkanap árfolyamával számoljunk.

hianyzo-napokNem-talalt-napok

A megoldás

Ha nincs pontos egyezés, keressük meg a keresett dátum utáni első létező dátumot, és vegyük abból a sorból az árfolyamot. Ezt úgy is megfogalmazhatjuk, hogy keresse meg a keresett dátumnál kisebbek közül a legutolsót, és az árfolyamot vegye a következő sorból.

Mivel a zöld Euró árfolyam táblázatunkban a dátumok növekvő sorban vannak, lehet keresni közelítő kereséssel is, ami ha nem talál, akkor a legközelebbi, létező kisebbet fogja találatnak tekinteni.  Ezt a HOL.VAN (MATCH) függvénnyel oldhatjuk meg.

sorszám = HOL.VAN(keresett_dátum;árfolyam tábla dátum oszlopa;1)

Ezután egy INDEX függvénnyel kivesszük az EUR oszlopból a következő sorban lévő árfolyamot.

=INDEX(EUR oszlop; sorszam+1)

Mindez egyben a hibakezeléssel

=HAHIBA(FKERES(E2;Table_0;2;0);INDEX(Table_0[EUR euro 1];HOL.VAN(E2;Table_0[Date];1)+1))

Ahol Table_0 az árfolyamtábla, F2 a saját listánk dátum oszlopának első cellája. Ezt aztán le lehet másolni az aljáig.

Letölthető munkafüzet

MNB-kovetkezo-munkanap-arfolyam

Mindez videón

Vélemény, hozzászólás?