Ενημερωμένη συναλλαγματική ισοτιμία στο Excel

Έχω αναλύσει επανειλημμένα τρόπους εισαγωγής δεδομένων στο Excel από το Διαδίκτυο με επακόλουθη αυτόματη ενημέρωση. Συγκεκριμένα:

  • Σε παλαιότερες εκδόσεις του Excel 2007-2013, αυτό θα μπορούσε να γίνει με ένα άμεσο αίτημα web.
  • Από το 2010, αυτό μπορεί να γίνει πολύ εύκολα με το πρόσθετο Power Query.

Σε αυτές τις μεθόδους στις πιο πρόσφατες εκδόσεις του Microsoft Excel, μπορείτε τώρα να προσθέσετε μια άλλη - εισαγωγή δεδομένων από το Διαδίκτυο σε μορφή XML χρησιμοποιώντας ενσωματωμένες λειτουργίες.

Η XML (eXtensible Markup Language = Extensible Markup Language) είναι μια καθολική γλώσσα που έχει σχεδιαστεί για να περιγράφει κάθε είδους δεδομένα. Στην πραγματικότητα, είναι απλό κείμενο, αλλά με ειδικές ετικέτες που προστίθενται σε αυτό για τη σήμανση της δομής δεδομένων. Πολλοί ιστότοποι παρέχουν δωρεάν ροές των δεδομένων τους σε μορφή XML για λήψη από οποιονδήποτε. Στον ιστότοπο της Κεντρικής Τράπεζας της Χώρας μας (www.cbr.ru), συγκεκριμένα, με τη βοήθεια παρόμοιας τεχνολογίας, δίνονται δεδομένα για τις συναλλαγματικές ισοτιμίες διαφόρων νομισμάτων. Από τον ιστότοπο του Moscow Exchange (www.moex.com) μπορείτε να κατεβάσετε τιμές για μετοχές, ομόλογα και πολλές άλλες χρήσιμες πληροφορίες με τον ίδιο τρόπο.

Από την έκδοση 2013, το Excel έχει δύο λειτουργίες για την απευθείας φόρτωση δεδομένων XML από το Διαδίκτυο σε κελιά φύλλου εργασίας: ΥΠΗΡΕΣΙΑ ΙΣΤΟΣΕΛΙΔΑΣ (WEBSERVICE) и FILTER.XML (FILTERXML). Δουλεύουν σε ζευγάρια – πρώτα η συνάρτηση ΥΠΗΡΕΣΙΑ ΙΣΤΟΣΕΛΙΔΑΣ εκτελεί ένα αίτημα στον επιθυμητό ιστότοπο και επιστρέφει την απάντησή του σε μορφή 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

Αζερμπαϊτζάν manat

R01020

Μολδαβίας Leu

R01500

Λίρα

R01035

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

R01510

Νέα Κουάντζα της Αγκόλα

R01040

Ολλανδικό φιορίνι

R01523

Αρμενικό δράμα

R01060

Κορόνα Νορβηγίας

R01535

Λευκορωσικό ρούβλι

R01090

Ζλότυ Πολωνίας

R01565

βελγικό φράγκο

R01095

Πορτογαλικό εσκούδο

R01570

Το βουλγαρικό λιοντάρι

R01100

Ρουμανικό νόμισμα

R01585

Βραζιλιάνο πραγματικό

R01115

Δολάριο Σιγκαπούρης

R01625

ουγγρικό φιορίνι

R01135

δολάριο Σουρινάμ

R01665

Δολάριο Χονγκ Κονγκ

R01200

Τατζικιστάν σομόνι

R01670

Ελληνική δραχμή

R01205

Ρούβλι Τατζικιστάν

R01670

Δανική κορώνα

R01215

Τουρκική λίρα

R01700

αμερικάνικο δολλάριο

R01235

Turkmen manat

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 (VLOOKUP)για να βρούμε τον κωδικό του νομίσματος που χρειαζόμαστε στον κατάλογο.
  • Χαρακτηριστικά ΚΕΙΜΕΝΟ (ΚΕΙΜΕΝΟ), το οποίο μετατρέπει την ημερομηνία σύμφωνα με το δεδομένο μοτίβο ημέρα-μήνας-έτος μέσω κάθετου.

Ενημερωμένη συναλλαγματική ισοτιμία στο Excel

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

Βήμα 2. Εκτελέστε το αίτημα

Τώρα χρησιμοποιούμε τη συνάρτηση ΥΠΗΡΕΣΙΑ ΙΣΤΟΣΕΛΙΔΑΣ (WEBSERVICE) με τη συμβολοσειρά ερωτήματος που δημιουργήθηκε ως μοναδικό όρισμα. Η απάντηση θα είναι μια μεγάλη σειρά κώδικα XML (είναι καλύτερα να ενεργοποιήσετε την αναδίπλωση λέξεων και να αυξήσετε το μέγεθος του κελιού αν θέλετε να το δείτε ολόκληρο):

Ενημερωμένη συναλλαγματική ισοτιμία στο Excel

Βήμα 3. Ανάλυση της απάντησης

Για να καταστεί ευκολότερη η κατανόηση της δομής των δεδομένων απόκρισης, είναι καλύτερο να χρησιμοποιήσετε έναν από τους διαδικτυακούς αναλυτές XML (για παράδειγμα, http://xpather.com/ ή https://jsonformatter.org/xml-parser), που μπορεί να μορφοποιήσει οπτικά τον κώδικα XML, προσθέτοντας εσοχές σε αυτόν και επισημαίνοντας τη σύνταξη με χρώμα. Τότε όλα θα γίνουν πολύ πιο ξεκάθαρα:

Ενημερωμένη συναλλαγματική ισοτιμία στο Excel

Τώρα μπορείτε να δείτε ξεκάθαρα ότι οι τιμές των μαθημάτων πλαισιώνονται από τις ετικέτες μας ...και οι ημερομηνίες είναι χαρακτηριστικά Ημερομηνία σε ετικέτες .

Για να τα εξαγάγετε, επιλέξτε μια στήλη από δέκα (ή περισσότερα – αν γίνει με περιθώριο) κενά κελιά στο φύλλο (επειδή είχε οριστεί ένα διάστημα 10 ημερών) και εισαγάγετε τη συνάρτηση στη γραμμή τύπων FILTER.XML (ΦΙΛΤΡΟXML):

Ενημερωμένη συναλλαγματική ισοτιμία στο Excel

Εδώ, το πρώτο όρισμα είναι ένας σύνδεσμος προς ένα κελί με απόκριση διακομιστή (B8) και το δεύτερο είναι μια συμβολοσειρά ερωτήματος στο XPath, μια ειδική γλώσσα που μπορεί να χρησιμοποιηθεί για την πρόσβαση στα απαραίτητα τμήματα κώδικα XML και την εξαγωγή τους. Μπορείτε να διαβάσετε περισσότερα για τη γλώσσα XPath, για παράδειγμα, εδώ.

Είναι σημαντικό μετά την εισαγωγή του τύπου, να μην πατήσετε εισάγετεκαι τη συντόμευση πληκτρολογίου Ctrl+αλλαγή+εισάγετε, δηλαδή εισάγετέ τον ως τύπο πίνακα (τα σγουρά άγκιστρα γύρω του θα προστεθούν αυτόματα). Εάν διαθέτετε την πιο πρόσφατη έκδοση του Office 365 με υποστήριξη για δυναμικούς πίνακες στο Excel, τότε μια απλή εισάγετε, και δεν χρειάζεται να επιλέξετε κενά κελιά εκ των προτέρων – η ίδια η συνάρτηση θα πάρει όσα κελιά χρειάζεται.

Για να εξαγάγουμε ημερομηνίες, θα κάνουμε το ίδιο - θα επιλέξουμε πολλά κενά κελιά στη διπλανή στήλη και θα χρησιμοποιήσουμε την ίδια συνάρτηση, αλλά με διαφορετικό ερώτημα XPath, για να λάβουμε όλες τις τιμές των χαρακτηριστικών Date από τις ετικέτες Εγγραφή:

=FILTER.XML(B8;”//Record/@Date”)

Τώρα στο μέλλον, κατά την αλλαγή των ημερομηνιών στα αρχικά κελιά B2 και B3 ή κατά την επιλογή διαφορετικού νομίσματος στην αναπτυσσόμενη λίστα του κελιού B3, το ερώτημά μας θα ενημερώνεται αυτόματα, παραπέμποντας στον διακομιστή της Κεντρικής Τράπεζας για νέα δεδομένα. Για να επιβάλετε μια ενημέρωση με μη αυτόματο τρόπο, μπορείτε επιπλέον να χρησιμοποιήσετε τη συντόμευση πληκτρολογίου Ctrl+άλλος+F9.

  • Εισαγάγετε ποσοστό bitcoin στο Excel μέσω Power Query
  • Εισαγάγετε συναλλαγματικές ισοτιμίες από το Διαδίκτυο σε παλαιότερες εκδόσεις του Excel

Αφήστε μια απάντηση