Historische Wechselkurse in Google Sheets abrufen
Manchmal ist der heutige Wechselkurs nicht der richtige. Vielleicht schließen Sie die Bücher des vergangenen Monats ab und brauchen den Kurs vom letzten Tag des Zeitraums, oder Sie erstellen eine Spesenabrechnung für eine Reise vor sechs Wochen, oder Sie müssen nachprüfen, was eine Zahlung zum Zeitpunkt der Buchung wert war. In all diesen Fällen benötigen Sie einen historischen Kurs, nicht den aktuellen Marktkurs. Diese Anleitung zeigt, wie Sie vergangene Kurse mit GOOGLEFINANCE direkt in Google Sheets abrufen.
Kurs für ein bestimmtes Datum abrufen
So sieht die Formel für einen einzelnen historischen Kurs aus:
=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,15)), 2, 2)
Die INDEX-Umhüllung mag unnötig wirken, ist aber tatsächlich erforderlich. Wenn Sie GOOGLEFINANCE ein Datum übergeben, gibt die Funktion keine einzelne Zahl zurück. Sie liefert stattdessen eine kleine zweispaltige Tabelle: eine Kopfzeile mit den Beschriftungen "Date" und "Close", gefolgt von einer Datenzeile mit den eigentlichen Werten. Wenn Sie versuchen, diese Tabelle direkt zu verwenden, etwa um sie mit einem Dollar-Betrag zu multiplizieren, gibt Google Sheets einen Fehler aus, da es nicht weiß, wie es eine Tabelle mit einer Zahl multiplizieren soll.
INDEX(_, 2, 2) löst das Problem, indem es eine bestimmte Zelle aus der Tabelle extrahiert. Das 2, 2 bedeutet Zeile 2, Spalte 2, also genau dort, wo der eigentliche Kurs steht.

Sobald Sie diesen Wert haben, funktioniert die Multiplikation mit einem Zellwert genauso wie bei einem Live-Kurs:
=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,15)), 2, 2) * A2
Diese Formel nimmt den Dollar-Betrag in A2 und rechnet ihn zum Wechselkurs vom 15. Januar 2024 in Euro um.

Beachten Sie, dass die Formel die DATE()-Funktion verwendet statt einer Textzeichenkette wie "2024-01-15". Beide Varianten funktionieren in vielen Fällen, aber DATE() ist zuverlässiger. Wenn Ihre Tabelle mit Personen in verschiedenen Regionen geteilt wird oder wenn Sie eine Vorlage verwenden, können Datumszeichenketten je nach regionalen Einstellungen unterschiedlich interpretiert werden. DATE() hat diese Mehrdeutigkeit nicht.

Kurse für einen Datumsbereich abrufen
Wenn Sie Kurse über mehrere Tage brauchen, etwa um zu verfolgen, wie sich eine Währung über einen Monat entwickelt hat, können Sie ein Start- und ein Enddatum übergeben:
=GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,1), DATE(2024,1,31))
Das Ergebnis expandiert automatisch über mehrere Zeilen. Die erste Zeile ist eine Kopfzeile, und jede weitere Zeile enthält ein Datum mit dem zugehörigen Schlusskurs. INDEX wird hier nicht benötigt, da Sie die vollständige Tabelle und keinen einzelnen Wert möchten.
Das ist praktisch, um ein Diagramm zu erstellen. Fügen Sie die Formel in eine Zelle ein, lassen Sie sie expandieren, und fügen Sie dann ein Diagramm über diesen Bereich ein. So sehen Sie auf einen Blick, wie sich der Kurs im Zeitraum bewegt hat.

Beachten Sie: Die Ausgabe dieser Formel belegt so viele Zeilen, wie es Tage im Bereich gibt. Wenn sich andere Daten unterhalb der Zelle befinden, in die Sie die Formel eingefügt haben, werden diese überschrieben. Platzieren Sie die Formel an einem Ort mit freiem Platz darunter, oder verwenden Sie ein eigenes Tabellenblatt für die Ausgabe.
Ausgabe formatieren
Fast jedes Mal treten dieselben zwei Formatierungsprobleme auf.
Erstens zeigt die Datumsspalte häufig Seriennummern statt lesbarer Datumsangaben. In Google Sheets werden Daten intern als Zahlen gespeichert (Anzahl der Tage seit dem 30. Dezember 1899), und die GOOGLEFINANCE-Ausgabe kommt manchmal ohne angewendetes Datumsformat an. Um das zu korrigieren, markieren Sie die Spalte, gehen zu Format > Zahl > Datum, und die Anzeige stimmt.
Zweitens ist die Kursspalte ein roher Dezimalwert. Formatieren Sie ihn so, wie es Ihre Tabelle erfordert: vier Dezimalstellen für hohe Genauigkeit, oder zwei, wenn Sie ihn in einer Präsentation verwenden. Gehen Sie zu Format > Zahl > Benutzerdefiniertes Zahlenformat und geben Sie zum Beispiel 0.0000 für vier Dezimalstellen ein.
Wissenswert
Datumsformat-Probleme. Wie oben erwähnt: Verwenden Sie DATE() statt Textzeichenketten, um Probleme mit der regionsabhängigen Datumsinterpretation zu vermeiden. DATE(2024, 1, 15) bedeutet in jeder Region den 15. Januar 2024. "1/15/2024" tut das nicht.
Mid-Market-Kurse. GOOGLEFINANCE verwendet Mid-Market-Kurse, die in der Mitte zwischen An- und Verkaufskurs liegen. Ihre Bank verwendet nicht den Mid-Market-Kurs. Sie nimmt einen Kurs mit einem Aufschlag, so verdient sie an Währungsumtausch. Die Zahlen in Sheets weichen daher leicht von dem ab, was auf Ihrem Kontoauszug oder dem Beleg Ihres Zahlungsdienstleisters steht. Für buchhalterische Zwecke sollten Sie möglicherweise den historischen Kurs Ihrer Bank prüfen, anstatt sich auf GOOGLEFINANCE zu verlassen.
Nicht verfügbare Währungspaare. Nicht jedes Währungspaar ist in Google Finance vorhanden. Wichtige Paare (USD/EUR, GBP/USD, USD/JPY) funktionieren zuverlässig. Weniger gebräuchliche Währungen geben manchmal #N/A zurück. Wenn Sie diesen Fehler erhalten und der Währungscode korrekt aussieht, prüfen Sie zunächst, ob das Paar überhaupt in Google Finance existiert, bevor Sie davon ausgehen, dass die Formel falsch ist.
Was tun, wenn das Datum in einer Zelle steht?
Sie können die DATE()-Argumente durch Zellreferenzen ersetzen. Wenn das gewünschte Datum in Zelle B2 steht:
=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", B2), 2, 2)
Stellen Sie sicher, dass B2 in Google Sheets als Datum formatiert ist, nicht als Text. Wenn Sie das Datum als reinen Text eingegeben haben, erkennt GOOGLEFINANCE es möglicherweise nicht. Sie können das Format prüfen, indem Sie die Zelle auswählen und Format > Zahl kontrollieren: Es sollte "Datum" stehen, nicht "Nur Text" oder "Automatisch".

Diese Vorgehensweise eignet sich gut, wenn Sie eine Spalte mit Transaktionsdaten haben und für jede automatisch den zugehörigen Kurs abrufen möchten. Fügen Sie die GOOGLEFINANCE-Formel in die Spalte neben den Daten ein, mit B2 (oder der ersten Datumszelle) als Datums-Argument, und ziehen Sie sie nach unten.
Umrechnungstabelle mit dynamischen Daten erstellen
Eine häufige Aufgabe bei Spesenabrechnungen: In Spalte A stehen Beträge, in Spalte B die Daten, und für jede Zeile soll der umgerechnete Wert auf Basis des jeweiligen Datums berechnet werden.
In Spalte C:
=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", B2), 2, 2) * A2
Ziehen Sie die Formel durch alle Zeilen. Jede Zeile holt sich den Kurs für ihr eigenes Datum. Das Ergebnis ist eine Spalte umgerechneter Werte, bei der jeder den richtigen historischen Kurs verwendet.

Ein Hinweis: Jeder GOOGLEFINANCE-Aufruf zählt als separate Datenanfrage. In einer Tabelle mit Hunderten von Zeilen kann das die Performance beeinträchtigen oder gelegentlich Ratenlimits auslösen. Bei großen Datensätzen ist es oft praktischer, die eindeutigen Daten separat abzurufen, die Kurse in eine Referenztabelle einzutragen und per VLOOKUP oder XLOOKUP zuzuordnen, sodass jedes Datum nur einmal abgefragt wird.
Instant Currency
Wenn Sie die INDEX-Umhüllung lieber vermeiden möchten: Instant Currency bietet eine Datumsauswahl für historische Abfragen. Sie wählen die Währungen, wählen das Datum, und die Formel sowie die Formatierung werden automatisch übernommen. Sie können Zellen auch direkt konvertieren, was praktisch ist, wenn Sie die Formeln gar nicht brauchen und einfach nur die Werte möchten.

Für allgemeine Formeln zur Währungsumrechnung lesen Sie unsere GOOGLEFINANCE-Schritt-für-Schritt-Anleitung. Bei Fragen zu einem konkreten Anwendungsfall schreiben Sie uns, wir helfen gerne weiter.