Daptar eusi
Kuring tos sababaraha kali nganalisis cara pikeun ngimpor data kana Excel tina Internét sareng ngamutahirkeun otomatis salajengna. Khususna:
- Dina vérsi Excel 2007-2013 anu langkung lami, ieu tiasa dilakukeun ku pamundut wéb langsung.
- Dimimitian taun 2010, ieu tiasa dilakukeun kalayan gampang kalayan tambihan Power Query.
Pikeun metodeu ieu dina vérsi panganyarna tina Microsoft Excel, anjeun ayeuna tiasa nambihan anu sanés - ngimpor data tina Internét dina format XML nganggo fungsi anu diwangun.
XML (eXtensible Markup Language = Extensible Markup Language) nyaéta basa universal anu dirancang pikeun ngajelaskeun sagala jinis data. Kanyataanna, éta téks polos, tapi kalawan tag husus ditambahkeun kana eta pikeun nandaan up struktur data. Loba loka nyadiakeun aliran bébas data maranéhanana dina format XML keur saha pikeun ngundeur. Dina situs wéb Bank Séntral Nagara Urang (www.cbr.ru), khususna, kalayan bantosan téknologi anu sami, data ngeunaan nilai tukeur tina sababaraha mata uang dipasihkeun. Tina situs wéb Moscow Exchange (www.moex.com) anjeun tiasa ngaunduh tanda petik pikeun saham, obligasi sareng seueur inpormasi mangpaat anu sanés dina cara anu sami.
Kusabab vérsi 2013, Excel ngagaduhan dua pungsi pikeun ngamuat data XML langsung tina Internét kana sél lembar kerja: LAYANAN WEB (LAYANAN WEB) и FILTER.XML (FILTERXML). Aranjeunna dianggo dina pasangan - kahiji fungsi LAYANAN WEB executes pamundut ka situs nu dipikahoyong tur mulih respon na dina format XML, lajeng ngagunakeun fungsi FILTER.XML urang "parse" jawaban ieu kana komponén, extracting data urang kudu ti dinya.
Hayu urang tingali operasi fungsi ieu nganggo conto klasik - ngimpor kurs mata uang naon waé anu urang peryogikeun pikeun interval tanggal anu ditangtukeun tina situs wéb Bank Séntral Nagara Kita. Kami bakal ngagunakeun konstruksi di handap ieu salaku kosong:
Ieuh:
- Sél konéng ngandung tanggal mimiti sareng ahir periode anu dipikaresep ku urang.
- Biru gaduh daptar turun-handap tina mata uang nganggo paréntah Data – Validasi – Daptar (Data — Validasi — Daptar).
- Dina sél héjo, urang bakal ngagunakeun fungsi urang pikeun nyieun string query tur meunangkeun respon server urang.
- Tabel di sisi katuhu mangrupikeun rujukan pikeun kode mata uang (urang peryogi sakedik engké).
Hayu angkat!
Lengkah 1. Ngabentuk string query
Pikeun kéngingkeun inpormasi anu diperyogikeun tina situs éta, anjeun kedah naroskeun éta leres. Kami buka www.cbr.ru sareng buka tautan dina footer halaman utama' Sumberdaya Téknis'- Kéngingkeun data nganggo XML (http://cbr.ru/development/SXML/). Urang ngagulung saeutik leuwih handap sarta dina conto kadua (Conto 2) bakal aya naon urang kudu - meunangkeun ongkos bursa keur interval tanggal dibikeun:
Sakumaha anjeun tiasa tingali tina conto, string query kedah ngandung kaping mimiti (date_req1) jeung tungtung (date_req2) tina periode dipikaresep ku urang jeung kode mata uang (VAL_NM_RQ), laju nu urang hayang meunang. Anjeun tiasa mendakan kodeu mata uang utama dina tabel di handap ieu:
duit nu dipake di sahiji nagara | Code | | duit nu dipake di sahiji nagara | Code |
dollar Australia | R01010 | Litas Lituania | R01435 | |
Shilling Austria | R01015 | Kupon Lituania | R01435 | |
Azerbaijan manat | R01020 | Leu Moldova | R01500 | |
Pon | R01035 | РќРµРјРµС † РєР ° СЏ РјР ° СЂРєР ° | R01510 | |
Angolan kwanza anyar | R01040 | gulden Walanda | R01523 | |
Dram Arménia | R01060 | Norwegia Krone | R01535 | |
Беларусi ruble | R01090 | Polandia Zloty | R01565 | |
Franc Bélgia | R01095 | escudo Portugis | R01570 | |
Singa Bulgaria | R01100 | Romania leu | R01585 | |
nyata Brasil | R01115 | Dollar Singapura | R01625 | |
Forint Hungaria | R01135 | Dollar Suriname | R01665 | |
Dollar Hong Kong | R01200 | Tajik somoni | R01670 | |
drakma Yunani | R01205 | Rubel Tajik | R01670 | |
krone Denmark | R01215 | lira Turki | R01700 | |
dollar AS | R01235 | Turkmén manat | R01710 | |
Euro | R01239 | Turkmén manat anyar | R01710 | |
rupia India | R01270 | Jumlah Uzbek | R01717 | |
Pound Irlandia | R01305 | hryvnia Ukraina | R01720 | |
Krone Islandia | R01310 | karbovanets Ukraina | R01720 | |
Peseta Spanyol | R01315 | tanda Finlandia | R01740 | |
Lira Italia | R01325 | terus terang Perancis | R01750 | |
Kazakhstan tenge | R01335 | Koruna Czech | R01760 | |
Dollar Kanada | R01350 | krona Swedia | R01770 | |
Kirgiz som | R01370 | Frank Swiss | R01775 | |
Yuan Cina | R01375 | Kroon Éstonia | R01795 | |
Kuwaiti dinar | R01390 | Dinar anyar Yugoslavia | R01804 | |
Latvia lat | R01405 | Rand Afrika Kidul | R01810 | |
Pound Lebanese | R01420 | Républik Koréa Won | R01815 | |
Yen Jepang | R01820 |
Pitunjuk lengkep pikeun kode mata uang ogé sayogi dina situs wéb Bank Séntral - tingali http://cbr.ru/scripts/XML_val.asp?d=0
Ayeuna urang bakal ngabentuk string query dina sél dina lambar kalayan:
- operator concatenation téks (&) pikeun nunda babarengan;
- Fitur VPR (VLOOKUP)pikeun milarian kodeu mata uang anu urang peryogikeun dina diréktori;
- Fitur naskah (TÉKS), nu ngarobah tanggal nurutkeun pola dibikeun dinten-bulan-taun ngaliwatan slash a.
="http://cbr.ru/scripts/XML_dynamic.asp?date_req1="&ТЕКСТ(B2;"ДД/ММ/ГГГГ")& "&date_req2="&ТЕКСТ(B3;"ДД/ММ/ГГГГ")&"&VAL_NM_RQ="&ВПР(B4;M:N;2;0)
Lengkah 2. Ngaéksekusi pamundut
Ayeuna kami nganggo fungsi LAYANAN WEB (LAYANAN WEB) kalawan string query dihasilkeun salaku hijina argumen. Jawabanna bakal janten garis panjang kode XML (langkung saé pikeun ngaktipkeun bungkus kecap sareng ningkatkeun ukuran sél upami anjeun hoyong ningali éta sadayana):
Lengkah 3. Parsing jawaban
Sangkan leuwih gampang ngartos struktur data respon, eta leuwih hade migunakeun salah sahiji parsers XML online (contona, http://xpather.com/ atawa https://jsonformatter.org/xml-parser), nu visually bisa pormat kode XML, nambahkeun indents ka dinya tur panyorot sintaksis kalawan warna. Teras sadayana bakal langkung jelas:
Ayeuna anjeun jelas tiasa ningali yén nilai kursus dipiguraan ku tag kami
Pikeun nimba aranjeunna, pilih kolom sapuluh (atanapi langkung - upami dilakukeun ku margin) sél kosong dina lambaran (kusabab interval tanggal 10 dinten disetél) sareng lebetkeun fungsina dina bar rumus. FILTER.XML (SARINGXML):
Di dieu, argumen kahiji nyaéta tumbu ka sél kalawan respon server (B8), sarta kadua mangrupa string query di XPath, basa husus nu bisa dipaké pikeun ngakses fragmen kode XML diperlukeun tur nimba aranjeunna. Anjeun tiasa maca langkung seueur ngeunaan basa XPath, contona, di dieu.
Kadé sanggeus ngasupkeun rumus, ulah mencet asup, sareng potong kompas keyboard Ctrl+ngarobah+asup, nyaéta lebetkeun salaku rumus Asép Sunandar Sunarya (kurung keriting di sabudeureun éta bakal otomatis ditambahkeun). Upami Anjeun gaduh versi panganyarna tina Office 365 kalayan rojongan pikeun arrays dinamis dina Excel, lajeng basajan asup, sareng anjeun henteu kedah milih sél kosong sateuacanna - fungsina sorangan bakal nyandak saloba sél anu diperyogikeun.
Pikeun nimba tanggal, urang bakal ngalakukeun hal anu sami - urang bakal milih sababaraha sél kosong dina kolom anu padeukeut sareng nganggo fungsi anu sami, tapi kalayan query XPath anu béda, pikeun kéngingkeun sadaya nilai atribut Tanggal tina tag Rékam:
=FILTER.XML(B8;”//Rekam/@Tanggal”)
Ayeuna di mangsa nu bakal datang, nalika ngarobah tanggal dina sél aslina B2 na B3 atawa milih mata uang béda dina daptar turun-handap sél B3, pamundut urang bakal otomatis diropéa, ngarujuk kana server Bank Séntral data anyar. Pikeun maksakeun apdet ku cara manual, Anjeun oge bisa make potong kompas keyboard Ctrl+Alt+F9.
- Impor laju bitcoin ka Excel via Power Query
- Impor ongkos bursa tina Internét dina versi Excel heubeul