Den Wechselkurs aktualiséiert an Excel

Ech hunn ëmmer erëm Weeër analyséiert fir Daten an Excel aus dem Internet mat spéider automateschen Aktualiséierung z'importéieren. Besonnesch:

  • An eelere Versioune vun Excel 2007-2013, kéint dëst mat enger direkter Web Ufro gemaach ginn.
  • Vun 2010 un, kann dëst ganz bequem mam Power Query Add-in gemaach ginn.

Zu dëse Methoden an de leschte Versioune vu Microsoft Excel kënnt Dir elo eng aner addéieren - Daten vum Internet am XML-Format importéieren mat agebaute Funktiounen.

XML (eXtensible Markup Language = Extensible Markup Language) ass eng universell Sprooch entwéckelt fir all Zort vun Daten ze beschreiwen. Tatsächlech ass et Kloertext, awer mat speziellen Tags bäigefüügt fir d'Datestruktur ze markéieren. Vill Site bidden gratis Streame vun hiren Donnéeën am XML-Format fir jiddereen erofzelueden. Op der Websäit vun der Zentralbank vun eisem Land (www.cbr.ru), besonnesch mat der Hëllef vun enger ähnlecher Technologie, ginn d'Donnéeën iwwer den Austausch vun de verschiddene Währungen uginn. Vun der Moskauer Exchange Websäit (www.moex.com) kënnt Dir Zitater fir Aktien, Obligatiounen a vill aner nëtzlech Informatiounen op déiselwecht Manéier eroflueden.

Zënter Versioun 2013 huet Excel zwou Funktiounen fir direkt XML Daten vum Internet an Aarbechtsblatzellen ze lueden: WEB SERVICE (WEBSERVICE) и FILTER.XML (FILTERXML). Si schaffen zu Pairen - éischt d'Funktioun WEB SERVICE fiert eng Ufro un de gewënschten Site aus a gëtt seng Äntwert am XML-Format zréck, a benotzt dann d'Funktioun FILTER.XML mir "parséieren" dës Äntwert a Komponenten, extrahéieren d'Donnéeën, déi mir brauchen.

Loosst eis d'Operatioun vun dëse Funktiounen mat engem klassesche Beispill kucken - den Austausch vun all Währung importéieren, déi mir fir e bestëmmten Datumintervall vun der Websäit vun der Zentralbank vun eisem Land brauchen. Mir benotzen déi folgend Konstruktioun als eidel:

Den Wechselkurs aktualiséiert an Excel

Hei:

  • Déi giel Zellen enthalen d'Start- an d'Enndatum vun der Period déi eis interesséiert.
  • Déi blo huet eng Dropdown-Lëscht vu Währungen mat dem Kommando Donnéeën - Validatioun - Lëscht (Daten - Validatioun - Lëscht).
  • An de gréngen Zellen benotze mir eis Funktiounen fir eng Ufro String ze kreéieren an d'Äntwert vum Server ze kréien.
  • Den Dësch op der rietser Säit ass eng Referenz op Währungscodes (mir brauchen et e bësse méi spéit).

Lass!

Schrëtt 1. Formatioun eng Ufro String

Fir déi erfuerderlech Informatioun vum Site ze kréien, musst Dir se richteg froen. Mir ginn op www.cbr.ru an oppen de Link am Fousszeilen vun der Haaptsäit' Technesch Ressourcen - Kritt Daten mat XML (http://cbr.ru/development/SXML/). Mir scrollen e bësse méi niddereg an am zweete Beispill (Beispill 2) gëtt et wat mir brauchen - d'Wechselkursen fir e bestëmmten Datumintervall kréien:

Den Wechselkurs aktualiséiert an Excel

Wéi Dir aus dem Beispill kënnt gesinn, muss d'Ufro String Startdatum enthalen (date_req1) an Endungen (date_req2) vun der Period vun Interesse fir eis an der Währung Code (VAL_NM_RQ), den Taux vun deem mir wëllen kréien. Dir kënnt d'HaaptWährungscodes an der Tabell hei ënnen fannen:

Währung

Code

                         

Währung

Code

Australesche Dollar R01010

litauesch litas

R01435

Éisträichesch shilling

R01015

litauesche Coupon

R01435

Aserbaidschanesch Manat

R01020

Moldawien leu

R01500

Pound

R01035

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

R01510

Angolanesche New Kwanza

R01040

hollännesche Gulden

R01523

Armenesch Dram

R01060

Norwegesch Kroun

R01535

Belarusian Rubel

R01090

Polish Freiwelleg

R01565

belsche Frang

R01095

Portugisesch escudo

R01570

De bulgaresche Léiw

R01100

Rumänesche leu

R01585

Brazilianescher Realitéit

R01115

Singapur Dollar

R01625

ungaresche Forint

R01135

Surinam Dollar

R01665

Hong Kong Dollar

R01200

Tadschikesch Somoni

R01670

Griichesch Drachme

R01205

Tadsjikeschen Rubel

R01670

Dänesche Kron

R01215

Türkesch Lira

R01700

US Dollar

R01235

Turkmenesch manat

R01710

Euro

R01239

Nei Turkmenesch Manat

R01710

indesche Rupee

R01270

Usbekesch Zomm

R01717

iresche Pond

R01305

our countrysch Hryvnia

R01720

Islännesch Kroun

R01310

our countrysch Karbovanets

R01720

Spuenesch peseta

R01315

Finnesch Mark

R01740

Italienesch Lira

R01325

franséische Frang

R01750

Kasachstan tenge

R01335

Tschechesch Koruna

R01760

kanadesch Dollar

R01350

Schwedesch Krona

R01770

Kirgisesch Som

R01370

Schwäizer frank

R01775

Chinesesche Yuan

R01375

estnesch Kroun

R01795

Kuwaiti Dinar

R01390

Jugoslawesch nei Dinar

R01804

Lettesch Lats

R01405

Südafrikanesche Rand

R01810

Libanesesche Fong

R01420

Republik Korea Won

R01815

japanesch Yen

R01820

E komplette Guide fir Währungscodes ass och verfügbar op der Zentralbank Websäit - kuckt http://cbr.ru/scripts/XML_val.asp?d=0

Elo bilden mir eng Ufro String an enger Zell op engem Blat mat:

  • den Text concatenation Bedreiwer (&) fir et zesummen;
  • Eegeschaften VPR (VLOOKUP)fir de Code vun der Währung ze fannen déi mir am Verzeechnes brauchen;
  • Eegeschaften TEXT (TEXT), deen den Datum no dem gegebene Muster Dag-Mount-Joer duerch e Slash konvertéiert.

Den Wechselkurs aktualiséiert an Excel

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

Schrëtt 2. Exekutéieren der Demande

Elo benotze mir d'Funktioun WEB SERVICE (WEBSERVICE) mat der generéierter Ufro String als eenzegt Argument. D'Äntwert wäert eng laang Zeil vum XML-Code sinn (et ass besser fir Wuertwrap auszeschalten an d'Zellgréisst ze vergréisseren wann Dir se a senger Ganzheet wëllt gesinn):

Den Wechselkurs aktualiséiert an Excel

Schrëtt 3. Parsing d'Äntwert

Fir et méi einfach ze maachen d'Struktur vun den Äntwertdaten ze verstoen, ass et besser ee vun den Online XML Parser ze benotzen (zum Beispill http://xpather.com/ oder https://jsonformatter.org/xml-parser), deen den XML-Code visuell formatéiere kann, d'Indents dozou bäidroen an d'Syntax mat Faarf markéieren. Da gëtt alles vill méi kloer:

Den Wechselkurs aktualiséiert an Excel

Elo kënnt Dir kloer gesinn datt d'Coursewäerter vun eisen Tags encadréiert ginn ..., an Datume sinn Attributer Datum in tags .

Fir se ze extrahieren, wielt eng Kolonn vun zéng (oder méi - wann et mat enger Marge gemaach gëtt) eidel Zellen op der Blat (well en 10-Deeg Datumintervall festgeluecht gouf) a gitt d'Funktioun an der Formelbar FILTER.XML (FILTERXML):

Den Wechselkurs aktualiséiert an Excel

Hei ass dat éischt Argument e Link op eng Zell mat enger ServerÄntwert (B8), an déi zweet ass eng Ufro String an XPath, eng speziell Sprooch déi benotzt ka ginn fir Zougang zu den néidege XML Code Fragmenter ze kréien an ze extrahieren. Dir kënnt méi iwwer d'Xpath Sprooch liesen, zum Beispill hei.

Et ass wichteg datt nodeems Dir d'Formel aginn hutt, net dréckt gitt, an d'Tastatur Ofkiirzung Ctrl+Verréckelung+gitt, also gitt et als Arrayformel an (déi gekrauselt Klammern ronderëm ginn automatesch derbäi). Wann Dir déi lescht Versioun vum Office 365 mat Ënnerstëtzung fir dynamesch Arrays an Excel hutt, dann eng einfach gitt, an Dir braucht keng eidel Zellen am Viraus ze wielen - d'Funktioun selwer wäert esou vill Zellen huelen wéi se brauch.

Fir Datumen ze extrahieren, maache mir datselwecht - mir wäerte e puer eidel Zellen an der ugrenzender Kolonn auswielen a benotzen déiselwecht Funktioun, awer mat enger anerer XPath Ufro, fir all Wäerter vun den Date Attributer aus de Record Tags ze kréien:

=FILTER.XML(B8;"//Record/@Datum")

Elo an der Zukunft, wann Dir d'Datume an den ursprénglechen Zellen B2 a B3 ännert oder eng aner Währung an der Dropdown-Lëscht vun der Zell B3 auswielen, gëtt eis Ufro automatesch aktualiséiert, a bezitt sech op den Zentralbankserver fir nei Donnéeën. Fir en Update manuell ze forcéieren, kënnt Dir zousätzlech d'Tastatur Ofkiirzung benotzen Ctrl+Alt+F9.

  • Import Bitcoin Taux an Excel iwwer Power Query
  • Import Wechselkursen vum Internet an eeler Versioune vun Excel

Hannerlooss eng Äntwert