it-swarm.com.de

Wie können Sie in Google Spreadsheet "GoogleFinance" für einen früheren Wechselkurs abfragen?

Ich würde gerne wissen, ob es möglich ist, einen früheren Wechselkurs in Google Spreadsheet abzufragen.

Zum Beispiel; Wenn Sie die Formel =GoogleFinance("CURRENCY:USDEUR") verwenden, wird der USD/EUR-Kurs zum jetzigen Zeitpunkt zurückgegeben. Wie können Sie einen historischen Kurs abrufen?

39
antr

Um den historischen Kurs abzurufen, müssen Sie die folgende Formel verwenden:

=GoogleFinance("eurusd","price",today()-1,today())

Dabei ist today () - 1, today () das gewünschte Zeitintervall, das explizit als statisches Datumspaar oder implizit als dynamisch berechneter Wert definiert werden kann, wie im obigen Beispiel. Dieser Ausdruck gibt ein zweispaltiges Array der Datums- und Schließwerte zurück. Es ist wichtig, auf das geeignete Zellenformat (Datum/Nummer) zu achten, andernfalls werden Ihre Daten beschädigt.

Wenn Sie die reine Zeile mit Datums- und Währungswechselkurs ohne Spaltenüberschriften erhalten möchten, umschließen Sie Ihre Formel mit der Funktion INDEX ():

=INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,)

Um nur den Wechselkurswert abzurufen, definieren Sie den Parameter für die Spaltennummer:

=INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,2)

So erhalten Sie die heutigen Wechselkurse in Google Text & Tabellen von Google Finance:

=GoogleFinance("eurusd","price",today())

P.S. Vor einiger Zeit gab es ein Problem mit dem kurzen Weg, die heutigen Raten zu erhalten, aber jetzt funktioniert es und Sie können es erneut verwenden:

=GoogleFinance("currency:usdeur")

P.S. So erhalten Sie einen Live-Wechselkurs in Microsoft Excel:

76
Mike B.

Versuchen,

=GoogleFinance("usdeur","price",date(2013,12,1),date(2013,12,16))

Stellen Sie sicher, dass die Datumsangaben Ihren Kalkulationstabelleneinstellungen entsprechen.

Als Kommentar bearbeiten, Datum für die Erfassung einzelner Tagesdaten geändert: -

Nur mit Kopfzeilen:

=INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)

ohne Überschriften:

=FILTER(INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2),INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)<>"Close")
14
Vasim

Die Anweisungen für alle, die Googlefinance betreffen, finden Sie hier: https://support.google.com/docs/answer/3093281

Denken Sie daran, dass die eigentlichen Google-Spreadsheets-Formeln ein Semikolon (;) anstelle von Kommas (;) ..__ verwenden. Wenn der Ersatz für einige Beispiele gemacht wurde, würde er folgendermaßen aussehen:

Für einen 30-tägigen INDEX von USD vs. EUR sollten Sie verwenden (beachten Sie, dass sie bei Währungen in derselben ersten Variablen zusammenpassen):

=INDEX(GoogleFinance(USDEUR;"price";today()-30;today());2;2)

TIPP: Sie können den graph über die gesamte Größe der Zelle erhalten, indem Sie INDEX für SPARKLINE wie folgt ändern:

=SPARKLINE(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
10
DavidTaubmann

Die Antwort von Vasim ist ausgezeichnet. Wenn Sie jedoch nur an diesem Tag ein Austauschdatum wünschen, können Sie den Bereich auslassen und nur den folgenden Tag angeben

= FILTER (INDEX (GoogleFinance ("usdeur", "price", today ()) , 2), INDEX (GoogleFinance ("usdeur", "price", today ()) , 2) <> "Close")

3
user56236

Möglicherweise stellen Sie fest, dass GOOGLEFINANCE für einige Daten N/A zurückgibt. Dies liegt daran, dass das Datum ein freier Tag (normalerweise ein Wochenende) ist. Der 21. Juni 2015 ist Sonntag, daher sollten Sie den Preis für den 19. Juni (Freitag) erfragen. Dies können Sie über die Funktion WORKDAY tun, wie vorgeschlagen hier :

WORKDAY("6/21/2015"+1,-1)

Die resultierende Formel sieht also ungefähr so ​​aus:

INDEX(GoogleFinance("CURRENCY:USDRUB", "price", WORKDAY("6/21/2015"+1,-1),1),2,2)

Wenn Sie die Wechselkurse für zukünftige Daten erhalten möchten, können Sie zusätzlich prüfen, ob das Datum in der Zukunft liegt, und wenn ja, verwenden Sie einfach das heutige Datum:

WORKDAY(IF("6/21/2099">TODAY(),TODAY(),"6/21/2099")+1,-1)
2
chingis

Bei größeren Tabellenkalkulationen zeigen die Einschränkungen von Google Sheets normalerweise den folgenden Fehler: 

Error Der Parameterwert von INDEX-Parameter 2 ist 2. Gültige Werte liegen zwischen 0 und 1 inklusive .  enter image description here

Selbst wenn Index () und GoogleFinance () den erwarteten Parametern (GOOGLEFINANCE) folgend geändert werden (Ticker, [Attribut], [Startdatum], [Ende_Datum | Anzahl_Tage], [Intervall]), wird der Fehler fortgesetzt ..__ Eine Problemumgehung besteht darin, kleinere Teile zu kopieren in neue Tabellenkalkulationen, aber oft wird es fehlschlagen.

Als Alternative verwendete ich ImportXML als Web-Scraper für historische Währungsumrechnungsdaten von X-Rates.

=index(IMPORTXML("https://www.x-rates.com/historical/?from="&N2&"&amount="&K2&"&date="&YEAR(B2)&"-"&TEXT(B2,"mm")&"-"&TEXT(B2,"dd")&"","//td[@class='rtRates']"),1)

Ich gehe davon aus, dass Spalte B Datumsangaben sind, K für Beträge und N für Währungen. 

Zufällig schlägt es auch für eine Kalkulationstabelle mit mehr als 2000 Zeilen fehl, aber insgesamt funktionierte es für meine Anforderung zu viel besser als GoogleFinance ().

ImportXML-Beispiele

Der ImportXML-Leitfaden für Google Docs vom Anfänger bis zum Fortgeschrittenen

0
Damodar Das