Kursi i përditësuar i këmbimit në Excel

Unë kam analizuar në mënyrë të përsëritur mënyrat për të importuar të dhëna në Excel nga Interneti me përditësimin e mëvonshëm automatik. Veçanërisht:

  • Në versionet më të vjetra të Excel 2007-2013, kjo mund të bëhet me një kërkesë të drejtpërdrejtë në ueb.
  • Duke filluar nga viti 2010, kjo mund të bëhet shumë lehtë me shtesën Power Query.

Tek këto metoda në versionet më të fundit të Microsoft Excel, tani mund të shtoni një tjetër - duke importuar të dhëna nga Interneti në formatin XML duke përdorur funksionet e integruara.

XML (EXtensible Markup Language = Extensible Markup Language) është një gjuhë universale e krijuar për të përshkruar çdo lloj të dhënash. Në fakt, është tekst i thjeshtë, por me etiketa speciale të shtuara për të shënuar strukturën e të dhënave. Shumë sajte ofrojnë transmetime falas të të dhënave të tyre në formatin XML për këdo që të shkarkojë. Në faqen e internetit të Bankës Qendrore të vendit tonë (www.cbr.ru), në veçanti, me ndihmën e një teknologjie të ngjashme, jepen të dhëna për kurset e këmbimit të monedhave të ndryshme. Nga faqja e internetit e Moskës Exchange (www.moex.com) mund të shkarkoni kuotat për aksione, obligacione dhe shumë informacione të tjera të dobishme në të njëjtën mënyrë.

Që nga versioni 2013, Excel ka dy funksione për ngarkimin e drejtpërdrejtë të të dhënave XML nga Interneti në qelizat e fletës së punës: SHËRBIMI WEB (WEBSERVICE) и FILTER.XML (FILTERXML). Ata punojnë në çifte - së pari funksioni SHËRBIMI WEB ekzekuton një kërkesë në faqen e dëshiruar dhe kthen përgjigjen e saj në formatin XML, dhe më pas duke përdorur funksionin FILTER.XML ne e "analizojmë" këtë përgjigje në komponentë, duke nxjerrë të dhënat që na nevojiten prej saj.

Le të shohim funksionimin e këtyre funksioneve duke përdorur një shembull klasik – importimin e kursit të këmbimit të çdo monedhe që na nevojitet për një interval të caktuar data nga faqja e internetit e Bankës Qendrore të vendit tonë. Ne do të përdorim ndërtimin e mëposhtëm si bosh:

Kursi i përditësuar i këmbimit në Excel

këtu:

  • Qelizat e verdha përmbajnë datat e fillimit dhe mbarimit të periudhës me interes për ne.
  • E kaltra ka një listë rënëse të monedhave duke përdorur komandën Të dhënat – Vleresimi – Lista (Të dhënat - Vërtetimi - Lista).
  • Në qelizat e gjelbra, ne do të përdorim funksionet tona për të krijuar një varg pyetjesh dhe për të marrë përgjigjen e serverit.
  • Tabela në të djathtë është një referencë për kodet e monedhës (do të na duhet pak më vonë).

Shkojme!

Hapi 1. Formimi i një vargu pyetësor

Për të marrë informacionin e kërkuar nga faqja, duhet ta pyesni saktë. Shkojmë në www.cbr.ru dhe hapim lidhjen në fundin e faqes kryesore' Burimet teknike - Marrja e të dhënave duke përdorur XML (http://cbr.ru/development/SXML/). Ne lëvizim pak më poshtë dhe në shembullin e dytë (Shembulli 2) do të jetë ajo që na nevojitet - duke marrë kurset e këmbimit për një interval të caktuar data:

Kursi i përditësuar i këmbimit në Excel

Siç mund ta shihni nga shembulli, vargu i pyetjes duhet të përmbajë datat e fillimit (data_req1) dhe mbaresat (data_req2) të periudhës së interesit për ne dhe kodit të monedhës (VAL_NM_RQ), norma e së cilës duam të marrim. Ju mund të gjeni kodet kryesore të monedhës në tabelën e mëposhtme:

Monedhë

kod

                         

Monedhë

kod

Dollar australian R01010

Litas lituaneze

R01435

shilinga austriake

R01015

Kupon lituanez

R01435

Manat Azerbajxhan

R01020

leu Moldovan

R01500

paund

R01035

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

R01510

Kwanza e re e Angolës

R01040

Gulden holandez

R01523

Drama armene

R01060

Krone norvegjeze

R01535

Rubla Belarusian

R01090

Polonisht zloty

R01565

franga belge

R01095

Escudo portugeze

R01570

Luani bullgar

R01100

Leu rumune

R01585

Real braziliane

R01115

Dollar Singapor

R01625

Forintë Hungarisht

R01135

Dollari i Surinamit

R01665

Hong Kong Dollar

R01200

Somoni Taxhik

R01670

Dhrahmi greke

R01205

Rubla Taxhik

R01670

Krone daneze

R01215

Lira turke

R01700

dollari amerikan

R01235

manat turkmen

R01710

euro

R01239

Manat e reja turkmene

R01710

Rupee indiane

R01270

Shuma Uzbekistan

R01717

paund irlandez

R01305

Hryvnia ukrainas

R01720

Krona islandeze

R01310

Karbovanet ukrainas

R01720

peseta spanjolle

R01315

Marka finlandeze

R01740

lira italiane

R01325

franga franceze

R01750

Tenge Kazakistani

R01335

Koruna çeke

R01760

Dollar kanadez

R01350

Krona suedeze

R01770

Kirgiz som

R01370

franku zviceran

R01775

Kineze juan

R01375

korona estoneze

R01795

Dinar i Kuvajtit

R01390

dinari i ri jugosllav

R01804

lat letonisht

R01405

Rand i Afrikës së Jugut

R01810

Kile libaneze

R01420

Republika e Koresë fitoi

R01815

Yen japonez

R01820

Një udhëzues i plotë për kodet e monedhës është gjithashtu i disponueshëm në faqen e internetit të Bankës Qendrore – shikoni http://cbr.ru/scripts/XML_val.asp?d=0

Tani do të formojmë një varg pyetjesh në një qelizë në një fletë me:

  • operatori i lidhjes së tekstit (&) për ta bashkuar;
  • karakteristika VPR (VLOOKUP)për të gjetur kodin e monedhës që na nevojitet në drejtori;
  • karakteristika TEXT (TEKSTI), e cila konverton datën sipas modelit të dhënë ditë-muaj-vit përmes një prerje.

Kursi i përditësuar i këmbimit në Excel

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

Hapi 2. Ekzekutoni kërkesën

Tani ne përdorim funksionin SHËRBIMI WEB (WEBSERVICE) me vargun e gjeneruar të pyetjes si argument të vetëm. Përgjigja do të jetë një rresht i gjatë kodi XML (është më mirë të aktivizoni mbështjelljen e fjalëve dhe të rrisni madhësinë e qelizës nëse dëshironi ta shihni në tërësi):

Kursi i përditësuar i këmbimit në Excel

Hapi 3. Analizimi i përgjigjes

Për ta bërë më të lehtë për të kuptuar strukturën e të dhënave të përgjigjes, është më mirë të përdorni një nga analizuesit XML në internet (për shembull, http://xpather.com/ ose https://jsonformatter.org/xml-parser), i cili mund të formatojë vizualisht kodin XML, duke shtuar dhëmbëza në të dhe duke theksuar sintaksën me ngjyra. Atëherë gjithçka do të bëhet shumë më e qartë:

Kursi i përditësuar i këmbimit në Excel

Tani mund të shihni qartë se vlerat e kursit janë përshtatur nga etiketat tona ..., dhe datat janë atribute data në etiketa .

Për t'i nxjerrë ato, zgjidhni një kolonë prej dhjetë (ose më shumë - nëse bëhet me një diferencë) qelizash bosh në fletë (sepse ishte caktuar një interval data 10-ditore) dhe futni funksionin në shiritin e formulave FILTER.XML (FILTERXML):

Kursi i përditësuar i këmbimit në Excel

Këtu, argumenti i parë është një lidhje me një qelizë me një përgjigje serveri (B8), dhe i dyti është një varg pyetjesh në XPath, një gjuhë e veçantë që mund të përdoret për të hyrë në fragmentet e nevojshme të kodit XML dhe për t'i nxjerrë ato. Mund të lexoni më shumë rreth gjuhës XPath, për shembull, këtu.

Është e rëndësishme që pasi të keni futur formulën, mos e shtypni Shkruani, dhe shkurtoren e tastierës Ctrl+Ndryshim+Shkruani, dmth futeni si formulë grupi (kllapat kaçurrelë rreth tij do të shtohen automatikisht). Nëse keni versionin më të fundit të Office 365 me mbështetje për vargje dinamike në Excel, atëherë një i thjeshtë Shkruani, dhe nuk keni nevojë të zgjidhni paraprakisht qeliza boshe – vetë funksioni do të marrë aq qeliza sa i duhen.

Për të nxjerrë datat, ne do të bëjmë të njëjtën gjë - do të zgjedhim disa qeliza boshe në kolonën ngjitur dhe do të përdorim të njëjtin funksion, por me një pyetje të ndryshme XPath, për të marrë të gjitha vlerat e atributeve Date nga etiketat Record:

=FILTER.XML(B8;”//Record/@Date”)

Tani në të ardhmen, kur ndryshoni datat në qelizat origjinale B2 dhe B3 ose zgjidhni një monedhë tjetër në listën rënëse të qelizës B3, pyetja jonë do të përditësohet automatikisht, duke iu referuar serverit të Bankës Qendrore për të dhëna të reja. Për të detyruar një përditësim manualisht, mund të përdorni gjithashtu shkurtoren e tastierës Ctrl+Ndalet+F9.

  • Importoni normën e bitcoin në Excel përmes Power Query
  • Importoni kurset e këmbimit nga interneti në versionet më të vjetra të Excel

Lini një Përgjigju