Atjaunināts valūtas maiņas kurss programmā Excel

Esmu vairākkārt analizējis veidus, kā importēt datus programmā Excel no interneta ar sekojošu automātisku atjaunināšanu. It īpaši:

  • Vecākajās Excel versijās 2007–2013 to var izdarīt, izmantojot tiešu tīmekļa pieprasījumu.
  • Sākot ar 2010. gadu, to ļoti ērti var izdarīt ar Power Query pievienojumprogrammu.

Šīm metodēm jaunākajās Microsoft Excel versijās tagad var pievienot vēl vienu – datu importēšanu no interneta XML formātā, izmantojot iebūvētās funkcijas.

XML (eXtensible Markup Language = Extensible Markup Language) ir universāla valoda, kas izstrādāta, lai aprakstītu jebkāda veida datus. Faktiski tas ir vienkāršs teksts, taču tam ir pievienoti īpaši tagi, lai atzīmētu datu struktūru. Daudzas vietnes nodrošina bezmaksas datu straumes XML formātā, lai ikviens to varētu lejupielādēt. Mūsu valsts centrālās bankas vietnē (www.cbr.ru) jo īpaši ar līdzīgas tehnoloģijas palīdzību tiek sniegti dati par dažādu valūtu kursiem. No Maskavas biržas tīmekļa vietnes (www.moex.com) varat lejupielādēt akciju, obligāciju un daudz citas noderīgas informācijas cenas tādā pašā veidā.

Kopš 2013. gada versijas programmai Excel ir divas funkcijas tiešai XML datu ielādei no interneta darblapas šūnās: TĪMEKĻA PAKALPOJUMI (WEBPAKALPOJUMI) и FILTER.XML (FILTERXML). Viņi strādā pa pāriem – vispirms funkcija TĪMEKĻA PAKALPOJUMI izpilda pieprasījumu vajadzīgajai vietnei un atgriež atbildi XML formātā un pēc tam izmantojot funkciju FILTER.XML mēs “parsējam” šo atbildi komponentos, iegūstot no tās nepieciešamos datus.

Apskatīsim šo funkciju darbību, izmantojot klasisku piemēru – jebkuras mums nepieciešamās valūtas kursa importēšanu uz noteiktu datumu intervālu no Mūsu Valsts Centrālās bankas mājas lapas. Kā sagatavi izmantosim šādu konstrukciju:

Atjaunināts valūtas maiņas kurss programmā Excel

Šeit:

  • Dzeltenajās šūnās ir norādīts mūs interesējošā perioda sākuma un beigu datums.
  • Zilajā ir nolaižamais valūtu saraksts, izmantojot komandu Dati – Validācija – Saraksts (Dati — Validācija — saraksts).
  • Zaļajās šūnās mēs izmantosim savas funkcijas, lai izveidotu vaicājuma virkni un saņemtu servera atbildi.
  • Tabulā labajā pusē ir atsauce uz valūtu kodiem (mums tas būs nepieciešams nedaudz vēlāk).

Ejam!

1. darbība. Vaicājuma virknes veidošana

Lai saņemtu nepieciešamo informāciju no vietnes, jums tā ir jājautā pareizi. Mēs ejam uz www.cbr.ru un atveram saiti galvenās lapas kājenē. Tehniskie resursi - Datu iegūšana, izmantojot XML (http://cbr.ru/development/SXML/). Ritinām nedaudz zemāk, un otrajā piemērā (2. piemērs) būs tas, kas mums nepieciešams – iegūt valūtas maiņas kursus konkrētam datuma intervālam:

Atjaunināts valūtas maiņas kurss programmā Excel

Kā redzams no piemēra, vaicājuma virknē ir jābūt sākuma datumiem (date_req1) un galotnes (date_req2) mūs interesējošo periodu un valūtas kodu (VAL_NM_RQ), kuras likmi vēlamies iegūt. Galvenos valūtu kodus varat atrast tabulā:

Valūta

kods

                         

Valūta

kods

Austrālijas dolārs R01010

Lietuvas lits

R01435

Austrijas šiliņš

R01015

Lietuviešu kupons

R01435

Azerbaidžānas manāts

R01020

Moldovas leja

R01500

Mārciņa

R01035

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

R01510

Angolas jaunā kvanza

R01040

Holandes guldenis

R01523

Armēņu drāma

R01060

Norvēģijas krona

R01535

Baltkrievijas rublis

R01090

Polijas zlots

R01565

Beļģijas franks

R01095

Portugāļu eskudo

R01570

Bulgāru lauva

R01100

Rumānijas leu

R01585

Brazīlijas reāls

R01115

Singapūras dolārs

R01625

Ungārijas forints

R01135

Surinamas dolārs

R01665

Honkongas dolārs

R01200

tadžiku somoni

R01670

Grieķijas drahma

R01205

Tadžikistānas rublis

R01670

Dānijas krona

R01215

Turcijas lira

R01700

ASV dolārs

R01235

Turkmēņu manāts

R01710

eiro

R01239

Jaunais turkmēņu manāts

R01710

Indijas rūpija

R01270

Uzbekistānas summa

R01717

Īru mārciņa

R01305

Ukrainas grivna

R01720

Islandes krona

R01310

Ukrainas karbovanets

R01720

Spānijas peseta

R01315

Somijas marka

R01740

Itālijas lira

R01325

Francijas franks

R01750

Kazahstānas tenge

R01335

Čehijas krona

R01760

Kanādas dolārs

R01350

Zviedrijas krona

R01770

Kirgizstānas som

R01370

Šveices franks

R01775

Ķīnas juaņa

R01375

Igaunijas krona

R01795

Kuveitas dinārs

R01390

Dienvidslāvijas jaunais dinārs

R01804

Latvijas latu

R01405

Dienvidāfrikas rande

R01810

Libānas mārciņa

R01420

Korejas Republika uzvarēja

R01815

Japānas jena

R01820

Pilnīga valūtu kodu rokasgrāmata ir pieejama arī Centrālās bankas vietnē – skatiet http://cbr.ru/scripts/XML_val.asp?d=0

Tagad mēs izveidosim vaicājuma virkni lapas šūnā ar:

  • teksta savienošanas operators (&), lai to saliktu kopā;
  • Apkalpošana VPR (MEKLĒT)lai direktorijā atrastu mums nepieciešamās valūtas kodu;
  • Apkalpošana TEKSTS (TEKSTS), kas pārvērš datumu atbilstoši norādītajam modelim diena-mēnesis-gads, izmantojot slīpsvītru.

Atjaunināts valūtas maiņas kurss programmā Excel

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

2. darbība. Izpildiet pieprasījumu

Tagad mēs izmantojam funkciju TĪMEKĻA PAKALPOJUMI (WEBPAKALPOJUMI) ar ģenerēto vaicājuma virkni kā vienīgo argumentu. Atbilde būs gara XML koda rinda (labāk ir ieslēgt vārdu aplaušanu un palielināt šūnas izmēru, ja vēlaties to redzēt pilnībā):

Atjaunināts valūtas maiņas kurss programmā Excel

3. darbība. Atbildes parsēšana

Lai būtu vieglāk izprast atbilžu datu struktūru, labāk ir izmantot kādu no tiešsaistes XML parsētājiem (piemēram, http://xpather.com/ vai https://jsonformatter.org/xml-parser), kas var vizuāli formatēt XML kodu, pievienojot tam atkāpes un izceļot sintaksi ar krāsu. Tad viss kļūs daudz skaidrāks:

Atjaunināts valūtas maiņas kurss programmā Excel

Tagad jūs varat skaidri redzēt, ka kursu vērtības ir ierāmētas ar mūsu tagiem ..., un datumi ir atribūti datums tagos .

Lai tos izvilktu, lapā atlasiet kolonnu ar desmit (vai vairāk — ja tas izdarīts ar piemali) tukšām šūnām (jo tika iestatīts 10 dienu datuma intervāls) un ievadiet funkciju formulas joslā. FILTER.XML (FILTRSXML):

Atjaunināts valūtas maiņas kurss programmā Excel

Šeit pirmais arguments ir saite uz šūnu ar servera atbildi (B8), bet otrais ir vaicājuma virkne XPath, īpašā valodā, ko var izmantot, lai piekļūtu nepieciešamajiem XML koda fragmentiem un tos izvilktu. Vairāk par XPath valodu varat lasīt, piemēram, šeit.

Ir svarīgi, lai pēc formulas ievadīšanas nespiediet ienāktun tastatūras īsceļu Ctrl+maiņa+ienākt, ti, ievadiet to kā masīva formulu (cirtainās iekavas ap to tiks pievienotas automātiski). Ja jums ir jaunākā Office 365 versija ar dinamisko masīvu atbalstu programmā Excel, tad vienkārši ienākt, un nav nepieciešams iepriekš atlasīt tukšas šūnas – funkcija pati aizņems tik šūnu, cik tai nepieciešams.

Lai izvilktu datumus, mēs darīsim to pašu – blakus kolonnā atlasīsim vairākas tukšas šūnas un izmantosim to pašu funkciju, bet ar citu XPath vaicājumu, lai iegūtu visas datuma atribūtu vērtības no ieraksta tagiem:

=FILTER.XML(B8;”//Ierakstīt/@Datums”)

Turpmāk, mainot datumus sākotnējās šūnās B2 un B3 vai izvēloties citu valūtu šūnas B3 nolaižamajā sarakstā, mūsu vaicājums tiks automātiski atjaunināts, atsaucoties uz Centrālās bankas serveri, lai iegūtu jaunus datus. Lai piespiestu atjaunināt manuāli, varat papildus izmantot īsinājumtaustiņus Ctrl+cits+F9.

  • Importējiet bitcoin likmi programmā Excel, izmantojot Power Query
  • Importējiet valūtas maiņas kursus no interneta vecākās Excel versijās

Atstāj atbildi