Excel бағдарламасындағы жаңартылған валюта бағамы

Мен Excel бағдарламасына деректерді кейіннен автоматты түрде жаңарту арқылы Интернеттен импорттау жолдарын бірнеше рет талдадым. Сондай-ақ:

  • Excel 2007-2013 ескі нұсқаларында мұны тікелей веб-сұраныс арқылы жасауға болады.
  • 2010 жылдан бастап мұны Power Query қондырмасы арқылы өте ыңғайлы жасауға болады.

Microsoft Excel бағдарламасының соңғы нұсқаларындағы осы әдістерге енді тағы біреуін қосуға болады – кірістірілген функцияларды пайдаланып XML пішімінде Интернеттен деректерді импорттау.

XML (eXtensible Markup Language = Extensible Markup Language) – кез келген деректер түрін сипаттауға арналған әмбебап тіл. Шын мәнінде, бұл қарапайым мәтін, бірақ деректер құрылымын белгілеу үшін оған арнайы тегтер қосылған. Көптеген сайттар кез келген жүктеп алу үшін XML пішімінде өз деректерінің тегін ағындарын ұсынады. Біздің еліміздің Орталық банкінің веб-сайтында (www.cbr.ru), атап айтқанда, ұқсас технологияның көмегімен әртүрлі валюталардың айырбас бағамдары туралы деректер берілген. Мәскеу биржасының веб-сайтынан (www.moex.com) акцияларға, облигацияларға және басқа да көптеген пайдалы ақпаратты дәл осылай жүктеп алуға болады.

2013 нұсқасынан бастап Excel бағдарламасында XML деректерін Интернеттен жұмыс парағының ұяшықтарына тікелей жүктеуге арналған екі функциясы бар: WEB ҚЫЗМЕТІ (ВЕБСЕРВИС) и FILTER.XML (FILTERXML). Олар жұппен жұмыс істейді - алдымен функция WEB ҚЫЗМЕТІ қалаған сайтқа сұрауды орындайды және оның жауабын XML пішімінде қайтарады, содан кейін функцияны пайдаланады FILTER.XML біз бұл жауапты құрамдастарға «талдаймыз», одан қажетті деректерді аламыз.

Бұл функциялардың жұмысын классикалық мысал арқылы қарастырайық – біздің еліміздің Орталық банкінің веб-сайтынан белгілі бір күн аралығына қажет кез келген валютаның бағамын импорттау. Біз дайындама ретінде келесі құрылысты қолданамыз:

Excel бағдарламасындағы жаңартылған валюта бағамы

Мұнда:

  • Сары ұяшықтар бізді қызықтыратын кезеңнің басталу және аяқталу күндерін қамтиды.
  • Көк түсте пәрменді қолданатын валюталардың ашылмалы тізімі бар Деректер – Валидация – Тізім (Деректер — Валидация — Тізім).
  • Жасыл ұяшықтарда сұрау жолын жасау және сервердің жауабын алу үшін функцияларымызды қолданамыз.
  • Оң жақтағы кесте валюта кодтарына сілтеме болып табылады (бұл бізге сәл кейінірек қажет болады).

Барайық!

Қадам 1. Сұрау жолын қалыптастыру

Сайттан қажетті ақпаратты алу үшін оны дұрыс сұрау керек. Біз www.cbr.ru сайтына кіріп, негізгі беттің төменгі колонтитулындағы сілтемені ашамыз' Техникалық ресурстар'- XML көмегімен деректерді алу (http://cbr.ru/development/SXML/). Біз сәл төмен айналдырамыз және екінші мысалда (2-мысал) бізге қажет нәрсе болады - берілген күн аралығы үшін айырбас бағамдарын алу:

Excel бағдарламасындағы жаңартылған валюта бағамы

Мысалдан көріп отырғаныңыздай, сұрау жолында басталу күндері болуы керек (date_req1) және аяқталуы (date_req2) бізді қызықтыратын кезең және валюта коды (VAL_NM_RQ), біз алғымыз келетін мөлшерлеме. Негізгі валюта кодтарын төмендегі кестеден таба аласыз:

валюта

код

                         

валюта

код

Австралиялық доллар R01010

Литва литастары

R01435

Австрия шиллингі

R01015

Литва купоны

R01435

Әзірбайжан манаты

R01020

Молдова леуі

R01500

Фунт

R01035

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

R01510

Анголаның жаңа кванзасы

R01040

Голландиялық гульден

R01523

Армян драмасы

R01060

норвегиялық Krone

R01535

Белорус рублі

R01090

поляк злотый

R01565

Бельгиялық франк

R01095

Португал эскудосы

R01570

Болгар арыстаны

R01100

Румын легиі

R01585

Бразилиялық реал

R01115

Сингапур доллары

R01625

венгр Forint

R01135

Суринам доллары

R01665

Гонконг доллары

R01200

тәжік сомони

R01670

Грек драхмасы

R01205

тәжік рублі

R01670

Дат кронасы

R01215

Түрік лирасы

R01700

АҚШ доллары

R01235

Түрікмен манаты

R01710

Еуро

R01239

Жаңа түрікмен манаты

R01710

Үнді рупия

R01270

өзбек сомасы

R01717

Ирландиялық фунт

R01305

Украин гривни

R01720

Исландия кронасы

R01310

Украиндық карбованец

R01720

Испандық песета

R01315

фин белгісі

R01740

итальяндық лира

R01325

ашық француз

R01750

Қазақстан теңгесі

R01335

Чех кронасы

R01760

канадалық доллар

R01350

Швед кронасы

R01770

Қырғыз сомы

R01370

Швейцариялық франк

R01775

Қытай юані

R01375

Эстониялық крон

R01795

Кувейт динары

R01390

Югославияның жаңа динары

R01804

Латвия латтары

R01405

Оңтүстік Африка ранд

R01810

Ливан фунты

R01420

Корея Республикасы жеңді

R01815

жапон йені

R01820

Валюта кодтары бойынша толық нұсқаулық Орталық банктің веб-сайтында да бар – http://cbr.ru/scripts/XML_val.asp?d=0 қараңыз.

Енді біз парақтағы ұяшықта сұрау жолын қалыптастырамыз:

  • оны біріктіру үшін мәтінді біріктіру операторы (&);
  • Мүмкіндіктер VPR (КӨРУ)анықтамалықтан бізге қажетті валютаның кодын табу;
  • Мүмкіндіктер TEXT (МӘТІН), ол берілген үлгіге сәйкес күнді күн-ай-жыл қиғаш сызық арқылы түрлендіреді.

Excel бағдарламасындағы жаңартылған валюта бағамы

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

2-қадам. Сұранысты орындаңыз

Енді біз функцияны қолданамыз WEB ҚЫЗМЕТІ (ВЕБСЕРВИС) жалғыз аргумент ретінде жасалған сұрау жолымен. Жауап XML кодының ұзын сызығы болады (егер сіз оны толығымен көргіңіз келсе, сөзді орау және ұяшық өлшемін ұлғайту жақсы):

Excel бағдарламасындағы жаңартылған валюта бағамы

3-қадам. Жауапты талдау

Жауап деректерінің құрылымын түсінуді жеңілдету үшін онлайн XML талдауларының бірін қолданған дұрыс (мысалы, http://xpather.com/ немесе https://jsonformatter.org/xml-parser), ол XML кодын көрнекі түрде пішімдей алады, оған шегіністерді қосады және синтаксисті түспен бөлектей алады. Сонда бәрі анық болады:

Excel бағдарламасындағы жаңартылған валюта бағамы

Енді сіз курс мәндерінің біздің тегтерімізбен жиектелетінін анық көре аласыз ..., және күндер төлсипат болып табылады дата тегтерде .

Оларды шығару үшін парақта он (немесе одан да көп – шетімен жасалса) бос ұяшықтан тұратын бағанды ​​таңдаңыз (өйткені 10 күндік күн аралығы орнатылған) және функцияны формула жолына енгізіңіз. FILTER.XML (СҮЗГІXML):

Excel бағдарламасындағы жаңартылған валюта бағамы

Мұнда бірінші аргумент – сервер жауабы бар ұяшыққа сілтеме (B8), ал екіншісі – XPath бағдарламасындағы сұраныс жолы, ол XML кодының қажетті фрагменттеріне қол жеткізу және оларды шығару үшін пайдаланылуы мүмкін арнайы тіл. XPath тілі туралы көбірек оқи аласыз, мысалы, мына жерден.

Формула енгізгеннен кейін баспау маңызды кіру, және пернелер тіркесімі Ctrl+ауысым+кіру, яғни оны массив формуласы ретінде енгізіңіз (оның айналасындағы бұйра жақшалар автоматты түрде қосылады). Excel бағдарламасындағы динамикалық массивтерге қолдау көрсететін Office 365 бағдарламасының соңғы нұсқасы болса, қарапайым кіру, және бос ұяшықтарды алдын ала таңдаудың қажеті жоқ – функцияның өзі қанша қажет болса, сонша ұяшық алады.

Күндерді шығару үшін біз де солай істейміз – біз көрші бағандағы бірнеше бос ұяшықтарды таңдаймыз және бірдей функцияны қолданамыз, бірақ Жазба тегтерінен Date атрибуттарының барлық мәндерін алу үшін басқа XPath сұрауымен:

=FILTER.XML(B8;”//Жазба/@Күні”)

Енді болашақта бастапқы B2 және B3 ұяшықтарындағы күндерді өзгерткенде немесе B3 ұяшығының ашылмалы тізімінде басқа валютаны таңдағанда, жаңа деректер үшін Орталық банк серверіне сілтеме жасай отырып, біздің сұрауымыз автоматты түрде жаңартылады. Қолмен жаңартуды мәжбүрлеу үшін пернелер тіркесімін қосымша пайдалануға болады Ctrl+Alt+F9.

  • Power Query арқылы Excel бағдарламасына биткоин мөлшерлемесін импорттаңыз
  • Excel бағдарламасының ескі нұсқаларында интернеттен валюта бағамдарын импорттаңыз

пікір қалдыру