Heute wird es ganz wild:
Von den beiden Excel-Funktionen, die ich dir heute vorstellen werde, hast du mit allergrößter Wahrscheinlichkeit noch nie in deinem Leben gehört. Obwohl es sie schon seit vielen Jahren gibt, fristen sie ein armseliges Dasein in den Tiefen von Excel, unbeachtet von der kalten, bösen Welt…
Dabei muss ich zugeben, dass ich diese zwei Funktionen selbst auch lange nicht gekannt habe, geschweige denn, dass sich mir ein konkreter Anwendungsfall dafür erschlossen hätte. Das möchte ich heute ändern. Denn auch wenn diese Funktionen ziemlich exotisch sind, können sie in bestimmten Situation sehr nützlich sein.
Wie zum Beispiel für den Aufbau eines kleinen Nachrichtenportals.
Los geht’s!

Beispieldatei herunterladen
Es geht um die Funktionen WEBDIENST und XMLFILTERN (Warnung: Diese Funktionen gibt es nur in den Windows-Versionen von Excel. Im Mac-Excel stehen sie leider nicht zur Verfügung)
Und: Kennst du die? Genau.
Die beiden Funktionen gibt es seit Excel 2013, also durchaus schon eine ganze Weile. Die Hilfeseite von Microsoft ist allerdings etwas zurückhaltend und kryptisch, was die Information dazu angeht. Beginnen wir daher am Anfang.
WEBDIENST
Das sagt die Hilfeseite: „Diese Funktion gibt Daten aus einem Webdienst im Internet oder Intranet zurück“. Na toll…
Vereinfacht gesagt lassen sich mit WEBDIENST einzelne, spezifische Informationen abrufen und im Arbeitsblatt ausgeben. Das ist zum Beispiel dann hilfreich, wenn man über öffentlich zugängliche API’s (API = Application Programming Interface, auf Deutsch: Programmierschnittstelle) auf Daten im Web zugreifen möchte:
- Wetterinformationen
- Börsendaten
- Nachrichten
- Produktinfos
und vieles mehr.
Die allgemeine Syntax für die Funktion lautet:
=WEBDIENST(URL)
Die URL ist die Adresse eines Webdienstes, der aufgerufen werden soll. Zurückgeliefert wird dann ein strukturierter Datenstrom, beispielsweise im XML- oder JSON-Format. Abhängig davon, was der betreffende Webdienst eben anbietet.
Nun bieten Websites einen sogenannten RSS-Feed an und man kann sie mit speziellen Programmen, sogenannten Feed-Readern, abonnieren. Damit lassen sich dann bequem an einer zentralen Stelle beispielsweise eine Vielzahl von interessanten Nachrichtenseiten, Blogs etc. verfolgen.
Diese Feeds haben eine eigene URL, also eine Webadresse. Ich habe mir für diesen Artikel beispielhaft die Website der Süddeutschen Zeitung herausgepickt.
Die Feeds sind zu finden unter der Basisadresse „https://rss.sueddeutsche.de/rss/“, gefolgt vom Namen des jeweiligen Ressorts. Also beispielsweise „https://rss.sueddeutsche.de/rss/Alles“ für einen allgemeinen Überblick oder „https://rss.sueddeutsche.de/rss/Sport“ für Sportnachrichten.
Wenn man diese Adressen in einem normalen Webbrowser eingibt, erhält man eine sehr spartanische und schwer lesbare Anzeige:
Genau deshalb gibt es erwähnten speziellen Feed-Reader-Programme.
Oder man nutzt halt Excel dafür.
Übergibt man nämlich diese Feed-Adresse an die WEBDIENST-Funktion, erhält man die Daten direkt in einer einzelnen Zelle im Arbeitsblatt:
Zugegeben: Für mich als Anwender ist das noch nicht sehr prickelnd, da unleserlich. Und genau da kommt unsere zweite Funktion zum Einsatz!
XMLFILTERN
Diese Funktion erwartet 2 Parameter:
=XMLFILTERN(xml, XPath)
Der erste Parameter soll nun der Verweis auf die zuvor verwendete WEBDIENST-Funktion in B3 sein.
Aber was ist der XPath?
Der XPath oder der XML Path dient dem Adressieren von Knoten in XML-Dokumenten und benutzt hierzu Pfaden ähnliche Ausdrücke. Wer sich detaillierter damit beschäftigen möchte, dem lege ich die sehr guten Beschreibungen des SELFHTML-Wikis ans Herz.
Schauen wir uns das Bild oben mit der XML-Struktur des RSS-Feeds von der SZ mal genauer an. Jeder Nachrichtenbeitrag befindet sich innerhalb eines „items“. Und darunter liegen dann weitere Elemente oder Knoten, wie z.B. „title“, „description“, „link“, „pubDate“ und ein paar weitere.
Und genau auf solche einzelnen Elemente kann man jetzt gezielt zugreifen. So werden die Nachrichtentitel wie folgt abgerufen:
=XMLFILTERN(B3;"//item/title")
WICHTIG:
Wer eine aktuelle Excel-Version (Excel 2021, 2024 oder Microsoft 365) einsetzt, kann die Funktion einfach so eingeben und die Ergebnisse laufen automatisch in so viele Zeilen über, wie eben nötig sind.
Wer hingegen eine ältere Version im Einsatz hat, muss diese Formel als Array-Funktion eingeben. Das heißt, es müssen erst einmal „auf Verdacht“ mehrere Zeilen markiert und die Funktion dann mit Strg+Alt+Eingabe abgeschlossen werden.
Und jetzt lassen sich Schritt für Schritt weitere Elemente abgreifen.
Veröffentlichungsdatum:
=XMLFILTERN(B3;"//item/pubDate")
Webadresse des jeweiligen Nachrichtenartikels:
=XMLFILTERN(B3;"//item/link")
Auf diesem Weg kann man sich in Excel also ein kleines Nachrichtenportal einrichten.
(Einen komplett anderen Anwendungsfall für XMLFILTERN findest du übrigens am Ende des Artikels Alle Formeln auflisten)
Mehr Komfort und Feinschliff
Auch wenn die URLs zu den eigentlichen Nachrichtenseiten jetzt in einer eigenen Spalte vorliegen, lassen sie sich leider noch nicht direkt durch einen Klick aufrufen. Das werden wir einfach mit der HYPERLINK-Funktion korrigieren. In der Spalte A richten wir einen klickbaren Link für die einzelnen Beiträge ein:
=HYPERLINK(D5#;"Link")
Die Nutzer von neuen Excel-Versionen geben die HYPERLINK-Funktion wie oben gezeigt mit dem #-Zeichen hinter der Zelladresse D5 ein, die Formel läuft dann automatisch über. In älteren Excel-Versionen lässt man die Raute weg und kopiert anschließend die Formelzelle manuell nach unten.
Danach öffnet ein Klick auf den entsprechenden Link in Spalte A die betreffende Nachrichtenseite sofort im Browser.
Jetzt wollen wir aber noch etwas mehr Flexibilität und Komfort, was die Nachrichten-Kategorie angeht. Die SZ bietet auf ihrer Website verschiedene Ressorts an, die jeweils auch eigene RSS-Feeds haben. Praktischerweise entspricht der Ressortname fast immer direkt dem letzten Teil der Feed-URL
- Wirtschaft: https://rss.sueddeutsche.de/rss/Wirtschaft
- Sport: https://rss.sueddeutsche.de/rss/Sport
- Politik: https://rss.sueddeutsche.de/rss/Politik
und so weiter.
Über ein Dropdown-Feld in Zelle B2 soll daher das gewünschte Ressort ausgewählt und in die URL übernommen werden, die dann mit WEBDIENST und in Folge mit XMLFILTERN ausgewertet wird.
Die Ressorts werden irgendwo in einer Liste eingegeben:
In der Zelle B2 unterhalb der bisherigen URL wird dann über „Daten | Datenüberprüfung“ ein Dropdown-Feld eingerichtet, welches auf diese Liste verweist. Aus der ursprünglichen URL in B1 wird dann der letzte Teil entfernt, denn dieser kommt ja jetzt über die Auswahl in B2:
Jetzt muss noch die WEBDIENST-Funktion in B3 angepasst werden, so dass B1 und B2 kombiniert werden:
=WEBDIENST(B1&B2)
Und schon können wir über das Dropdown-Feld das gewünschte Ressort auswählen und in den Zellen darunter werden die entsprechenden Nachrichten ausgegeben:
Nicht schlecht, oder?
Jetzt musst du dir nur noch die für dich relevanten Feed-URLs der gewünschten Webseiten suchen (die Suchmaschine oder der Chat-Bot deines Vertrauens stehen gerne zur Verfügung) und kannst dir mit wenig Aufwand ein maßgeschneidertes Nachrichtenportal in Excel einrichten.
Einschränkungen
Auch wenn du jetzt vielleicht gleich loslegen möchtest, muss ich dich auf ein paar Einschränkungen hinweisen.
Dass die beiden Funktionen nicht in Excel für den Mac verfügbar sind, hatte ich schon erwähnt.
Und die angezeigten Nachrichten aktualisieren sich leider nicht in Echtzeit. Damit du neuesten Nachrichten abgerufen werden, gibt es zwei Möglichkeiten:
- Entweder du wählst die Zelle mit der URL des Datenstroms aus (in meinem Beispiel also B1), schaltest mit F2 oder einem Doppelklick in den Bearbeitungsmodus und drückst dann ohne irgendwelche Änderungen die Eingabetaste
- Oder du machst dasselbe mit der Zelle, in der die WEBDIENST-Funktion steht (hier also B4)
- Oder du wählst im Dropdown-Feld einfach ein anderes Ressort aus. Dadurch erhält die WEBDIENST-Funktion eine neue URL und liest diese ein
Nur dann werden etwaige neue Nachrichten abgerufen und angezeigt. Eine „richtiger“ Nachrichten- oder Börsenticker lässt sich (ohne VBA) damit also leider nicht einrichten.
Einige Webdienste liefern ihre Daten nicht im XML-Format, sondern im JSON-Format zurück. Auch wenn die WEBDIENST-Funktion auch das JSON-Format akzeptiert, müssen für das nachgelagerte XMLFILTERN die Daten zwingend im XML-Format vorliegen. JSON klappt hier leider nicht.
Die WEBDIENST-Funktion ist auch nicht für komplexe Zugriffe auf Webportale geeignet, die mehrstufige oder komplexe Login- und Anmeldeprozesse erfordern oder falls du größere Datenmengen abrufen möchtest, die vielleicht obendrein noch bereinigt werden müssen. Aber dafür gibt es ja Power Query.
Du hast den Einstieg schon hinter dir und möchtest jetzt das nächste Level erklimmen? Dann schau dir meinen Fortgeschrittenen-Kurs Power Query-Praxisfälle an!
Fazit
Keine Frage, WEBDIENST und XMLFILTERN sind ziemlich exotisch. Für komplexere Datenabrufe aus dem Web wird man weiterhin auf Power Query zurückgreifen.
Benötigt man jedoch nur kleine Datenhäppchen aus einem RSS-Feed und kann mit den oben beschriebenen Einschränkungen leben, dann ist die Kombination der gezeigten Funktionen sicherlich eine interessante Alternative.
Wie sieht es bei dir aus:
Kanntest du diese Funktionen schon und hast du vielleicht konkrete eigene Anwendungsfälle gefunden? Dann lass es uns in den Kommentaren wissen!

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.








