Frissített árfolyam az Excelben

Többször elemeztem az adatok Excelbe történő importálásának módjait az internetről az ezt követő automatikus frissítéssel. Különösen:

  • Az Excel 2007–2013 régebbi verzióiban ez közvetlen webes kéréssel is megtehető.
  • 2010-től ez nagyon kényelmesen megtehető a Power Query bővítménnyel.

A Microsoft Excel legújabb verzióiban ezekhez a módszerekhez most hozzáadhat egy másikat – adatok importálását az internetről XML formátumban a beépített funkciók segítségével.

Az XML (eXtensible Markup Language = Extensible Markup Language) egy univerzális nyelv, amelyet bármilyen típusú adat leírására terveztek. Valójában ez egyszerű szöveg, de speciális címkékkel, amelyek az adatszerkezetet jelölik. Sok webhely ingyenes adatfolyamot biztosít XML formátumban, hogy bárki letölthesse. A Hazánk Központi Bankjának honlapján (www.cbr.ru) különösen hasonló technológia segítségével adnak meg adatokat a különböző devizák árfolyamairól. A Moszkvai Tőzsde weboldaláról (www.moex.com) ugyanígy tölthet le részvényekre, kötvényekre vonatkozó jegyzéseket és sok más hasznos információt.

A 2013-as verzió óta az Excel két funkcióval rendelkezik az XML-adatok közvetlen betöltésére az internetről a munkalap celláiba: WEBES SZOLGÁLTATÁS (WEBES SZOLGÁLTATÁS) и SZŰRŐ.XML (FILTERXML). Párban dolgoznak – először a funkció WEBES SZOLGÁLTATÁS végrehajt egy kérést a kívánt helyre, és válaszát XML formátumban adja vissza, majd a függvény használatával SZŰRŐ.XML ezt a választ komponensekre „elemezzük”, kinyerjük belőle a szükséges adatokat.

Nézzük meg ezeknek a függvényeknek a működését egy klasszikus példán keresztül – importálva az Országunk Központi Bankjának honlapjáról egy adott dátumintervallumra bármely, számunkra szükséges deviza árfolyamát. Üresként a következő konstrukciót használjuk:

Frissített árfolyam az Excelben

Itt:

  • A sárga cellák a számunkra érdekes időszak kezdő és záró dátumát tartalmazzák.
  • A kékben a pénznemek legördülő listája található a parancs használatával Adatok – Érvényesítés – Lista (Adatok – Érvényesítés – Lista).
  • A zöld cellákban függvényeink segítségével lekérdezési karakterláncot hozunk létre, és megkapjuk a szerver válaszát.
  • A jobb oldali táblázat a pénznemkódokra utal (kicsit később lesz rá szükségünk).

Menjünk!

1. lépés: Lekérdezési karakterlánc létrehozása

Ahhoz, hogy a szükséges információkat megkapja az oldalról, helyesen kell rákérdeznie. Megyünk a www.cbr.ru oldalra, és megnyitjuk a linket a főoldal láblécében. Műszaki erőforrások- Adatok lekérése XML használatával (http://cbr.ru/development/SXML/). Egy kicsit lejjebb görgessünk, és a második példában (2. példa) ott lesz, amire szükségünk van – egy adott dátumintervallum árfolyamainak lekérése:

Frissített árfolyam az Excelben

Amint a példából látható, a lekérdezési karakterláncnak tartalmaznia kell a kezdő dátumokat (date_req1) és a befejezések (date_req2) a számunkra érdekes időszak és a pénznem kódja (VAL_NM_RQ), amelynek az arányát szeretnénk elérni. A főbb pénznemkódokat az alábbi táblázatban találja:

Valuta

Kód

                         

Valuta

Kód

Ausztrál dollár R01010

Litván litas

R01435

osztrák shilling

R01015

litván kupon

R01435

Azerbajdzsáni manat

R01020

Moldovai leu

R01500

Font

R01035

РќРµРјРµС † РєР ° СЏ РјР ° СЂРєР °

R01510

Angolai új kwanza

R01040

holland gulden

R01523

Örmény dram

R01060

norvég korona

R01535

Fehérorosz rubel

R01090

lengyel zloty

R01565

belga frank

R01095

Portugál escudo

R01570

A bolgár oroszlán

R01100

Román leu

R01585

Brazil real

R01115

szingapúri dollár

R01625

Magyar Forint

R01135

Suriname dollár

R01665

Hong Kong-i dollár

R01200

tadzsik somoni

R01670

görög drachma

R01205

Tádzsik rubel

R01670

Dán korona

R01215

Török líra

R01700

amerikai dollár

R01235

türkmén manat

R01710

Euro

R01239

Új türkmén manat

R01710

Indiai rúpia

R01270

üzbég összeg

R01717

ír font

R01305

Ukrán hrivnya

R01720

izlandi korona

R01310

Ukrán karbovanec

R01720

spanyol peseta

R01315

finn márka

R01740

olasz líra

R01325

Francia frank

R01750

Kazahsztán tenge

R01335

Cseh korona

R01760

kanadai dollár

R01350

Svéd korona

R01770

kirgiz som

R01370

svájci frank

R01775

Kínai Yuan

R01375

észt korona

R01795

Kuvait dinár

R01390

Jugoszláv új dinár

R01804

lett lat

R01405

Dél-afrikai rand

R01810

Libanoni font

R01420

Koreai Köztársaság nyert

R01815

japán jen

R01820

A valutakódok teljes útmutatója szintén elérhető a Központi Bank honlapján – lásd: http://cbr.ru/scripts/XML_val.asp?d=0

Most létrehozunk egy lekérdezési karakterláncot egy munkalap cellájában a következővel:

  • a szövegösszefűzési operátor (&) az összeállításhoz;
  • Jellemzők VPR (VLOOKUP)hogy megtaláljuk a címtárban a számunkra szükséges pénznem kódját;
  • Jellemzők TEXT (SZÖVEG), amely a dátumot a megadott minta szerint nap-hónap-év egy perjellel alakítja át.

Frissített árfolyam az Excelben

="http://cbr.ru/scripts/XML_dynamic.asp?date_req1="&ТЕКСТ(B2;"ДД/ММ/ГГГГ")&  "&date_req2="&ТЕКСТ(B3;"ДД/ММ/ГГГГ")&"&VAL_NM_RQ="&ВПР(B4;M:N;2;0)  

2. lépés: Hajtsa végre a kérést

Most a függvényt használjuk WEBES SZOLGÁLTATÁS (WEBES SZOLGÁLTATÁS) a generált lekérdezési karakterlánc az egyetlen argumentum. A válasz egy hosszú sor XML-kód lesz (jobb, ha bekapcsolod a tördelést és növeled a cella méretét, ha teljes egészében szeretnéd látni):

Frissített árfolyam az Excelben

3. lépés: A válasz elemzése

A válaszadatok szerkezetének könnyebb megértése érdekében érdemesebb valamelyik online XML-elemzőt használni (például http://xpather.com/ vagy https://jsonformatter.org/xml-parser), amely vizuálisan formázza az XML-kódot, behúzásokat ad hozzá, és színnel kiemeli a szintaxist. Akkor minden sokkal világosabb lesz:

Frissített árfolyam az Excelben

Most már tisztán láthatja, hogy a kurzusértékeket címkéink keretezik ..., és a dátumok attribútumok találka címkékben .

Kibontásukhoz jelöljön ki egy tíz (vagy több – ha margós) üres cellát tartalmazó oszlopot a lapon (mivel 10 napos dátumintervallumot állított be), és írja be a függvényt a képletsorba. SZŰRŐ.XML (SZŰRŐXML):

Frissített árfolyam az Excelben

Itt az első argumentum egy kiszolgálóválaszt tartalmazó cellára mutató hivatkozás (B8), a második pedig egy lekérdezési karakterlánc az XPath-ban, egy speciális nyelvben, amellyel a szükséges XML-kódrészletek elérhetők és kivonhatók. Az XPath nyelvről például itt olvashat bővebben.

Fontos, hogy a képlet beírása után ne nyomja meg belépés a billentyűparancsot Ctrl+műszak+belép, azaz írja be tömbképletként (a körülötte lévő göndör kapcsos zárójelek automatikusan hozzáadódnak). Ha az Office 365 legújabb verziójával rendelkezik, amely támogatja a dinamikus tömböket az Excelben, akkor egyszerű belép, és nem kell előre kijelölni az üres cellákat – maga a függvény annyi cellát vesz fel, amennyire szüksége van.

A dátumok kinyeréséhez ugyanezt tesszük – kijelölünk több üres cellát a szomszédos oszlopban, és ugyanazt a függvényt használjuk, de más XPath-lekérdezéssel, hogy megkapjuk a Dátum attribútumok összes értékét a Record címkékből:

=SZŰRŐ.XML(B8;”//Record/@Date”)

Mostantól, amikor az eredeti B2 és B3 cellában módosítja a dátumot, vagy a B3 cella legördülő listájában más pénznemet választ, a lekérdezésünk automatikusan frissül, az új adatokért a Központi Bank szerverére hivatkozva. A frissítés kézi kényszerítéséhez használhatja a billentyűparancsot is Ctrl+más+F9.

  • Importáljon bitcoin árfolyamot Excelbe a Power Query segítségével
  • Importáljon árfolyamokat az internetről az Excel régebbi verzióiban

Hagy egy Válaszol