Es gibt viele Menschen, die ihre Aktiendepots über Excel auswerten. Häufig werden dabei lange Listen sehr aufwendig und von Hand mit den Kursinformationen gefüttert.
Heute zeige ich dir drei Möglichkeiten, wie man Börsenkurse dynamisch in Excel einlesen und verarbeiten kann. Für zwei der vorgestellten Varianten ist Microsoft 365 erforderlich, eine Methode jedoch funktioniert bereits mit Excel 2016.
Und so geht’s:
Beispieldatei herunterladen
Möglichkeit 1: Webimport mit Power Query (ab Excel 2016)
Beginnen wir gleich mit meinem absoluten Lieblingswerkzeug in Excel namens Power Query. Falls du um dieses Thema bisher noch einen Bogen gemacht hast, solltest du das unbedingt ändern. Ich verspreche dir, danach wird die Arbeit mit Excel nie mehr so sein wie zuvor 🙂
kennen.
Power Query bietet viele sogenannte Konnektoren, um externe Daten in Excel zu importieren: Beispielsweise aus Textdateien, aus anderen Excel-Arbeitsmappen oder aus Datenbanken. Und es gibt auch die Möglichkeit, auf Webseiten zuzugreifen. Und genau das werden wir heute nutzen. Das geht ziemlich einfach und die größte Herausforderung ist eigentlich, eine geeignete Webseite zu finden, auf der die gewünschten Daten idealerweise in Tabellenform präsentiert werden.
Eine gute Anlaufstelle sind Finanzseiten von Yahoo zu. Dort gibt es unter der Adresse https://finance.yahoo.com/watchlists
eine Reihe sogenannter Watchlists, in der themenverwandte Aktien zu verschiedenen Gruppen zusammengefasst sind und auf den entsprechenden Unterseiten gut abgefragt werden können.
Für das heutige Beispiel greife ich auf die Watchlist mit dem schönen Namen „Brands Consumers Love“ zu, die auf der Seite https://finance.yahoo.com/u/motley-fool/watchlists/brands-consumers-love zu finden ist.
Über das Menü „Daten | Aus dem Web“ starten wir Power Query. In das darauf folgende Fenster muss die Webadresse in das URL-Feld kopiert werden:
Danach gibt es ein Auswahlfenster für die verschiedenen Zugriffsmöglichkeiten auf eine Webseite. In unserem Fall bleiben wir bei der ersten Option „Anonym“ und klicken dann auf „Verbinden“:
Jede Webseite hat natürlich einen individuellen Aufbau, dementsprechend bietet das Navigatorfenster auf der linken Seite mehr oder weniger Elemente zur Auswahl. In unserem Fall gibt es auf der Yahoo-Seite nur 2 echte Tabellen, durch Anklicken erkennt man schnell die richtige:
Mit einem Klick auf „Daten transformieren“ wird die Tabelle dann im Power Query-Editor geöffnet und der Aufbau sieht grundsätzlich schon ganz gut aus. Allerdings hat insbesondere bei den Werten die automatische Datentyperkennung ziemlich unbrauchbaren Ergebnisse geliefert, wenn man die Daten mit der Webseite vergleicht:
Daher wird der letzte Schritt nochmal gelöscht und die Typenkonvertierung von Hand aus geführt. Die beiden Spalte „Last Price“ und „Change“ werden gleichzeitig per Rechtsklick mit auf eine Dezimalzahl mit englischem Gebietsschema geändert, anschließend das Feld „% Change“ ebenfalls mit Gebietsschema in eine Prozentzahl:
Die anderen Spalten weiter rechts werden für unser Beispiel nicht benötigt und können gelöscht werden. Danach wird die Abfrage geschlossen und in ein Arbeitsblatt geladen:
Mit einem Rechtsklick und „Aktualisieren“ können ab sofort die neuen Kurse abgerufen werden.
Möglichkeit 2: Datentyp „Aktien“ (nur Microsoft 365)
Vor geraumer Zeit habe ich in einem anderen Artikel die Datentypen vorgestellt, die es in Microsoft 365 gibt. Zu finden sind sie im Menü „Daten“:
Wenn ich nun in eine Zelle das Kurssymbol für eine Aktie eingebe und im Menüband auf den Datentyp „Aktien“ klicke, versucht Excel die entsprechende Aktie zu erkennen und öffnet am rechten Fensterrand einen neuen Arbeitsbereich, wo ich den gewünschten Handelsplatz auswählen kann:
Mit einem Klick auf den Text „Auswahl“ wird der Datentyp erstellt, was an dem kleinen Symbol und dem geänderten Eintrag in der Zelle zu erkennen ist. Wenn ich nun diese Zelle aktiviere, erscheint rechts oben ein kleines Symbol, aber das ich nun aus einer langen Liste an Attributen das gewünschte Merkmal auswählen kann.
In meinem Beispiel habe ich nacheinander „Preis“, „Schlusskurs des Vortags“, „52-Wochen-Hoch“ und „52-Wochen-Tief“ ausgewählt und erhalte folgendes Ergebnis:
Alternativ kann ich auch auf das kleine Symbol vor dem Namen klicken und erhalte damit eine Datenkarte mit sämtlichen Informationen zu dieser Aktie eingeblendet.
Ein Rechtsklick in die Zelle bietet über das Kontextmenü „Datentyp“ noch die Möglichkeit, die Aktualisierung der Kurse zu beeinflussen: Automatisch alle 5 Minuten, beim Öffnen der Datei oder manuell:
Eine ziemliche coole Funktion, oder?
Möglichkeit 3: Tabellenfunktion BÖRSENHISTORIE (nur Microsoft 365)
Die letzte Möglichkeit, um dynamisch auf Aktienkurse aus Excel heraus zuzugreifen, bietet die Funktion BÖRSENHISTORIE (englisch: STOCKHISTORY), die ebenfalls nur in Microsoft 365 verfügbar ist.
=BÖRSENHISTORIE(Aktie;Start_Datum;End_Datum;Intervall;Überschriften;Eigenschaften1;...)
Am einfachsten ist es, man gibt die benötigten Parameter in separate Zellen ein und verweist in der Formel dann nur auf sie. Da es sich um eine dynamische Array-Funktion handelt, läuft sie automatisch in so viele Zellen über, wie zur Ausgabe gerade benötigt werden:
In der maximalen Ausbaustufe könnte die Ausgabe auch so aussehen:
So, das war es für den heutigen Ausflug in die Börsenwelt mit Excel. Auch wenn die Funktionen sicherlich nicht jeden Anwendungsfall abdecken, wird sich der eine oder andere Privat-Börsianer bestimmt darüber freuen. Vielleicht waren da ja ein paar interessante Anregungen für dich dabei?
P.S. Die Lösung ist immer einfach. Man muss sie nur finden.
(Alexander Solschenizyn)
P.P.S. Das Problem sitzt meistens vor dem Computer.
Ist schon interessant, was Excel zwischenzeitlich alles an Funktionen beinhaltet und dank Dir Martin, erhalten Deine Follower ständig Updates und praktische Anwendungshinweise. 👍 Ein schönes Wochenende.
Hallo Uwe,
danke für Dein Feedback 🙂
Schöne Grüße,
Martin
Hallo Martin
Vielen Dank für die vielen nützlichen Tipp’s!
Nun möchte ich mit dem Befehl „Börsenhistorie“, wahlweise die letzten 70 Datensätze der Abfrage (Startdatum / Enddatum) weiter verarbeiten (Rendite, Varianz, etc)
Je nach Intervall (0,1,2) werden die Daten in einer unterschiedlich langen Tabelle aufgelistet. Leider sind aber die 70 letzten Datensätze, mit dem aktuellen Datum, immer am Schluss der Tabelle und somit verändert sich auch der Zielbereich für die Weiterverarbeitung.
Gibt es eine Möglichkeit, dass das aktuelle Datum jeweils zuoberst, also absteigend angezeigt wird?
Wenn nein, muss man die Daten umsortieren ??
Vielen Dank für einen hilfreichen Tipp.
Gruss
Peter
Hallo Peter,
ja, in Kombination mit der in M365 vorhandenen SORTIEREN-Funktion geht das. Man muss nur die BÖRSENHISTORIE ohne die Kopfzeilen ausgeben lassen, dann funktioniert das. Für meine Beispieldatei also etwa so:
=SORTIEREN(BÖRSENHISTORIE(B4;B5;B6;0;0;0;1;2;3;4;5);1;-1)
Schöne Grüße,
Martin
Moin aus Hamburg, Hallo Martin,
ich möchte unter Excel 2021 in meinem Edelmetallchart die Kurse für Gold, Silber & USD mit Power-Query automatisch übernehmen. Dazu denke ich an https://www.gold.de/kurse/goldpreis/, Table0. Soweit funktioniert alles. Wähle ich dann schließen und laden, erhalte ich zusätzlich zu meinem Goldchart die Tabelle0, die sich auch aktualisieren läßt. Natürlich mit oz & $ oder EUR. und in einigen Zellen den Fehler „Wert“ Deinen nachfolgenden Absatz Deiner Möglichkeit 1 ist für mich schwer nachzuvollziehen:
Daher wird der letzte Schritt nochmal gelöscht und die Typenkonvertierung von Hand aus geführt. Die beiden Spalte „Last Price“ und „Change“ werden gleichzeitig per Rechtsklick mit auf eine Dezimalzahl mit englischem Gebietsschema geändert, anschließend das Feld „% Change“ ebenfalls mit Gebietsschema in eine Prozentzahl:
Vielleicht hast Du einen Tipp für mich, bitte
Ich würde mich freuen, von Dir zu hören und grüße Dich aus dem Norden, Volker
Hallo Volker,
der von mir beschriebene Schritt mit der Typkonvertierung bezieht sich natürlich auf die im Beispiel genannte Webseite und kann daher nicht pauschal für deinen Fall übernommen werden.
Ich habe mal die von dir genannte Seite in Power Query abgefragt und die erste für mich verfügbare Tabelle ist Tabelle1. Die zeigt mir nur zwei Zeilen an: einmal den Goldpreis und einmal den Silberpreis. Ich gehe mal davon aus, das ist auch deine Tabelle.
Hier werden ein paar weitere Transformationen benötigt, um die Gewichtsangaben vom Preis zu trennen. Hier könntest du beispielsweise die Spalten nach Trennzeichen trennen und dann den Schrägstrich als Trennzeichen nutzen.
Ein andere Möglichkeit wäre, einfach über die Funktion „Werte ersetzen“ nach „$/oz“ zu suchen und das durch nichts zu ersetzen. Danach sollten sich die Datentypen in das Dezimalformat oder Währungsformat ändern lassen.
Vielleicht hilft das ja weiter.
Schöne Grüße,
Martin
Möglichkeit 3: habe ich genau so erfasst (habe 365) leider gibt es einen Error Überlauf. Ziel wäre es die Wechselkurse CHF/USD usw. zu erhalten.
Wo könnte der Fehler liegen? Natürlich vor dem Bildschirm nur sehe ich leider keine Lösung.
Möglichkeit 3:
Ja das Problem war vor dem Bildschirm: Man darf die Überschriften nicht erfassen im Excel, die werden auch auto. erstellt. wäre evtl. ein Hinweis und es geht mit den Währungen.
Dankeschön die Kommentare kann man also löschen :
MfG Max Kilcher
Hallo Max,
freut mich, dass du den Fehler gefunden hast. Ich würde den Kommentar trotzdem gerne stehen lassen, vielleicht hat ja ein anderer Leser mal das gleiche Problem.
Schöne Grüße,
Martin
Hallo,
vielen Dank für die Infos!
Gibt es eine Möglichkeit zum Abruf von Daten der großen US-Indizes, z.B. SPX, NDQ, DJIA?
Danke!
Hallo Marie,
klar, das geht grundsätzlich alles. Du musst nur eine Webseite im Internet finden, die diese Informationen als Tabelle anbietet. Auf der Yahoo-Seite, die ich im Beispiel verwendet habe, sind auch andere Index-Werte zu finden. Im Zweifelsfall musst du ein wenig herumprobieren.
Schöne Grüße,
Martin
Oh, das war ja eine schnelle Antwort.
Hm, also bei Yahoo hab ichs mit der stockhistory function erst für Aktien probiert, das ging. Danach mit SPX, das ging nicht. Der Recherche nach hätte ich gedacht, dass die Index-Kurse nur noch angezeigt, aber nicht mehr abgerufen werden können. Was könnte es nun noch sein – andere Ticker als gedacht für Börse und Index? Oder hast Du noch einen Tipp für mich? Was sind die ersten Schritte doch immer mies 😉
Ganz vielen Dank!