Nilai tukar sing dianyari ing Excel

Aku wis bola-bali nganalisa cara ngimpor data menyang Excel saka Internet kanthi nganyari otomatis. utamané:

  • Ing versi lawas Excel 2007-2013, iki bisa ditindakake kanthi panyuwunan web langsung.
  • Wiwit taun 2010, iki bisa ditindakake kanthi trep karo tambahan Power Query.

Kanggo metode iki ing versi paling anyar saka Microsoft Excel, sampeyan saiki bisa nambah siji liyane - ngimpor data saka Internet ing format XML nggunakake fungsi dibangun ing.

XML (Extensible Markup Language = Extensible Markup Language) iku basa universal sing dirancang kanggo njlèntrèhaké data apa waé. Nyatane, iki minangka teks biasa, nanging kanthi tag khusus ditambahake kanggo menehi tandha struktur data. Akeh situs nyedhiyakake aliran data gratis ing format XML kanggo diundhuh sapa wae. Ing situs web Bank Sentral Negara Kita (www.cbr.ru), utamane, kanthi bantuan teknologi sing padha, data babagan nilai tukar saka macem-macem mata uang diwenehake. Saka situs web Moscow Exchange (www.moex.com) sampeyan bisa ngundhuh kuotasi kanggo saham, obligasi lan akeh informasi migunani liyane kanthi cara sing padha.

Wiwit versi 2013, Excel nduweni rong fungsi kanggo langsung ngemot data XML saka Internet menyang sel lembar kerja: LAYANAN WEB (LAYANAN WEB) и FILTER.XML (FILTERXML). Padha bisa ing pasangan - pisanan fungsi LAYANAN WEB nglakokake panjalukan menyang situs sing dikarepake lan ngasilake respon ing format XML, banjur nggunakake fungsi kasebut FILTER.XML kita "ngurai" jawaban iki dadi komponen, ngekstrak data sing dibutuhake.

Ayo goleki operasi fungsi kasebut kanthi nggunakake conto klasik - ngimpor kurs mata uang apa wae sing dibutuhake kanggo interval tanggal tartamtu saka situs web Bank Sentral Negara Kita. Kita bakal nggunakake konstruksi ing ngisor iki minangka kothong:

Nilai tukar sing dianyari ing Excel

Kene:

  • Sèl kuning ngemot tanggal wiwitan lan pungkasan periode kapentingan kanggo kita.
  • Sing biru duwe dhaptar gulung mudhun mata uang nggunakake perintah kasebut Data – Validasi – Daftar (Data - Validasi - Dhaptar).
  • Ing sel ijo, kita bakal nggunakake fungsi kita kanggo nggawe string query lan njaluk respon server.
  • Tabel ing sisih tengen minangka referensi kanggo kode mata uang (kita butuh sethithik mengko).

Ayo ayo!

Langkah 1. Nggawe string query

Kanggo entuk informasi sing dibutuhake saka situs kasebut, sampeyan kudu takon kanthi bener. Kita menyang www.cbr.ru lan mbukak link ing footer kaca utama' Sumber Daya Teknis'- Njupuk data nggunakake XML (http://cbr.ru/development/SXML/). Kita nggulung rada ngisor lan ing conto kapindho (Conto 2) bakal ana sing dibutuhake - entuk kurs kanggo interval tanggal tartamtu:

Nilai tukar sing dianyari ing Excel

Kaya sing sampeyan deleng saka conto, string pitakon kudu ngemot tanggal wiwitan (tanggal_req1) lan pungkasan (tanggal_req2) saka periode kapentingan kanggo kita lan kode mata uang (VAL_NM_RQ), tingkat sing pengin kita entuk. Sampeyan bisa nemokake kode mata uang utama ing tabel ing ngisor iki:

Currency

kode

                         

Currency

kode

Dolar Australia R01010

Lithuania litas

R01435

Shilling Austria

R01015

Kupon Lithuania

R01435

Azerbaijan manat

R01020

Moldova leu

R01500

Pound

R01035

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

R01510

Kwanza anyar Angolan

R01040

Guilder Walanda

R01523

Dram Armenia

R01060

Norwegian Krone

R01535

Ruble Belarusia

R01090

Polish Zloty

R01565

frangi Belgia

R01095

Portugis escudo

R01570

Singa Bulgaria

R01100

Romania leu

R01585

Brasil nyata

R01115

Dolar Singapura

R01625

Forint Hungarian

R01135

Dolar Suriname

R01665

Dollar Hong Kong

R01200

Tajik somoni

R01670

drakma Yunani

R01205

Rubel Tajik

R01670

Danish krone

R01215

Lira Turki

R01700

Dolar AS

R01235

Turkmenistan manat

R01710

Euro

R01239

Manat Turkmen anyar

R01710

Intian rupia

R01270

Uzbek sum

R01717

Pound Irlandia

R01305

Hryvnia Ukrainia

R01720

Krone Islandia

R01310

karbovanets Ukrainia

R01720

Peseta Spanyol

R01315

tandha Finlandia

R01740

Lira Italia

R01325

franc Prancis

R01750

Kazakhstan tenge

R01335

Koruna ceko

R01760

dollari

R01350

Krona Swedia

R01770

Kyrgyz som

R01370

Swiss frank

R01775

Yuan Tionghoa

R01375

Kroon Estonia

R01795

Dinar Kuwait

R01390

Dinar anyar Yugoslavia

R01804

Latvian lat

R01405

Rand Afrika Selatan

R01810

Libanon pound

R01420

Republik Korea Won

R01815

Yen Jepang

R01820

Pandhuan lengkap kanggo kode mata uang uga kasedhiya ing situs web Bank Sentral - deleng http://cbr.ru/scripts/XML_val.asp?d=0

Saiki kita bakal mbentuk string query ing sel ing sheet kanthi:

  • operator concatenation teks (&) kanggo sijine iku bebarengan;
  • fitur VPR (VLOOKUP)kanggo nemokake kode mata uang sing kita butuhake ing direktori kasebut;
  • fitur TEXT (TEKS), sing ngowahi tanggal miturut pola tartamtu dina-sasi-taun liwat garis miring.

Nilai tukar sing dianyari ing Excel

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

Langkah 2. Nglakokaké panjalukan

Saiki kita nggunakake fungsi kasebut LAYANAN WEB (LAYANAN WEB) karo string query sing digawe minangka siji-sijine argumen. Jawaban bakal dadi baris kode XML sing dawa (luwih apik kanggo nguripake bungkus tembung lan nambah ukuran sel yen sampeyan pengin ndeleng kabeh):

Nilai tukar sing dianyari ing Excel

Langkah 3. Parsing jawaban

Kanggo luwih gampang mangerteni struktur data respon, luwih becik nggunakake salah siji parser XML online (contone, http://xpather.com/ utawa https://jsonformatter.org/xml-parser), sing bisa ngowahi format XML kanthi visual, nambah indentasi lan nyorot sintaks kanthi werna. Banjur kabeh bakal dadi luwih jelas:

Nilai tukar sing dianyari ing Excel

Saiki sampeyan bisa ndeleng kanthi jelas manawa nilai kursus dibingkai dening tag kita ..., lan tanggal minangka atribut tanggal ing tags .

Kanggo ngekstrak, pilih kolom sepuluh (utawa luwih - yen rampung kanthi wates) sel kosong ing sheet (amarga interval tanggal 10 dina wis disetel) lan ketik fungsi kasebut ing garis rumus. FILTER.XML (FILTERXML):

Nilai tukar sing dianyari ing Excel

Ing kene, argumen pisanan minangka link menyang sel kanthi respon server (B8), lan sing kapindho yaiku string query ing XPath, basa khusus sing bisa digunakake kanggo ngakses fragmen kode XML sing dibutuhake lan ngekstrak. Sampeyan bisa maca liyane babagan basa XPath, contone, kene.

Penting yen sawise ngetik rumus, aja pencet Ketik, lan trabasan keyboard Ctrl+shift+Ketik, IE ketik minangka rumus array (kurung kriting watara bakal ditambahake kanthi otomatis). Yen sampeyan duwe versi paling anyar saka Office 365 kanthi dhukungan kanggo susunan dinamis ing Excel, mula gampang Ketik, lan sampeyan ora perlu milih sel kosong luwih dhisik - fungsi kasebut bakal njupuk akeh sel sing dibutuhake.

Kanggo ngekstrak tanggal, kita bakal nindakake perkara sing padha - kita bakal milih sawetara sel kosong ing kolom jejer lan nggunakake fungsi sing padha, nanging kanthi pitakon XPath sing beda, kanggo entuk kabeh nilai atribut Tanggal saka tag Rekam:

=FILTER.XML(B8;”//Rekam/@Tanggal”)

Saiki ing mangsa ngarep, nalika ngganti tanggal ing sel asli B2 lan B3 utawa milih mata uang sing beda ing dhaptar gulung mudhun sel B3, pitakon kita bakal dianyari kanthi otomatis, ngrujuk menyang server Bank Sentral kanggo data anyar. Kanggo meksa nganyari kanthi manual, sampeyan uga bisa nggunakake trabasan keyboard Ctrl+Alt+F9.

  • Ngimpor tarif bitcoin menyang Excel liwat Power Query
  • Ngimpor kurs saka Internet ing versi lawas Excel

Ninggalake a Reply