Preisliste in Google Sheets: Preisformel, IMPORTRANGE, Google Sheets API und Limits

  • Aktualisiert
  • 5 Min. Lesezeit
Inhaltsverzeichnis
  1. Wann man nach einer Preisliste in Google Sheets sucht
  2. Welche Spalten eine Preisliste braucht
  3. Wie du den Verkaufspreis per Formel berechnest
  4. Wie du die Preisliste des Lieferanten in deine Tabelle holst
  5. Wie du Kunden Zugriff auf die Preisliste gibst
  6. Wie du Kurs und Preise automatisch aktualisierst
  7. Google Sheets API: wann du sie brauchst und wie du anfängst
  8. Wo eine Tabelle an ihre Grenzen kommt
  9. Wann du Preislisten einem Programm überlässt
  10. Häufige Fragen
  11. Quellen

Eine Preisliste in Google Sheets ist ein Tabellenblatt mit fünf Spalten: Artikelnummer, Name, Einkauf, Preis und Bestand. Den Verkaufspreis berechnet eine Formel aus Kurs und Aufschlag, Lieferantenpreislisten kommen per IMPORTRANGE oder IMPORTDATA, ein kurzes Apps Script trägt täglich den EZB-Referenzkurs ein, und wenn dein Shop oder eine App die Preise ändern soll, nutzt du die Google Sheets API. So kommst du bis zu einigen Tausend Artikeln und einer Handvoll Lieferanten aus.

Fehler entstehen meist bei Zugriff und Größe. Die Arbeitsdatei, per Link an Kunden freigegeben, zeigt ihnen auf dem Nachbarblatt die Einkaufspreise, und Importfunktionen aktualisieren sich nicht sofort und stoßen an Google-Limits. Unten: Aufbau, Formel am Beispiel, Anbindung der Lieferanten, Zugriff für Kunden, Automatisierung per Skript und API und der Punkt, an dem eine Tabelle nicht mehr reicht.

Wann man nach einer Preisliste in Google Sheets sucht

Meist ist es ein kleiner Shop oder Großhandel, dessen Preisliste in Excel auf einem einzigen Rechner liegt. Der Vertrieb soll aktuelle Preise sehen, Kunden sollen die Preisliste per Link öffnen, und Kurse und Lieferantenpreise sollen sich selbst aktualisieren. Daher die Suchen nach „importrange“, „google sheets api“ und „zwei Google Tabellen verknüpfen“.

„Welche Formel trage ich ein“ ist in zehn Minuten gelöst. Schwerer sind andere Fragen: Wie zeige ich Kunden keine Einkaufspreise, und was passiert, wenn der Lieferant die Spalten umstellt?

Welche Spalten eine Preisliste braucht

Das Minimum sind fünf Spalten. Kurs und Aufschlag stehen in eigenen Zellen, damit du sie an einer Stelle änderst.

Vorlage einer Preisliste in Google Sheets: Artikelnummer, Name, Einkauf in Dollar, Preis in Euro und Bestand
Spalten der Arbeits-Preisliste
SpalteInhaltWoher
A – Art.-Nr.Artikelnummer für Suche und Abgleich der PreislistenLieferant
B – NameDein Produktname für Kundendu
C – Einkauf $Preis des Lieferanten in der Währung seiner PreislisteLieferant
D – Preis €Verkaufspreis – nur per FormelFormel
E – Bestand„verfügbar“, „auf Bestellung“, „nicht verfügbar“ – aus einer Drop-down-ListeLieferant
H1, H2Kurs und AufschlagSkript und du

Die Spalte „Bestand“ legst du als Drop-down an (Daten → Datenvalidierung). Dann vermischen sich „ja“, „+“ und „lieferb.“ nicht, und Filter funktionieren.

Wie du den Verkaufspreis per Formel berechnest

Verkaufspreis = Einkauf ÷ Kurs × (1 + Aufschlag), aufgerundet auf die Endung ,99. In H1 steht der EZB-Referenzkurs, angegeben in Dollar je Euro, in H2 der Aufschlag. In der deutschen Version von Google Sheets heißt die Aufrundungsfunktion AUFRUNDEN (englisch ROUNDUP), Argumente trennt ein Semikolon, Dezimalstellen ein Komma. In D2:

=AUFRUNDEN(C2/$H$1*(1+$H$2)+0,01;0)-0,01

Beispiel zur Veranschaulichung, keine Marktpreise. Der Lieferant verlangt 22 $, der Kurs in H1 ist 1,10 Dollar je Euro, der Aufschlag in H2 beträgt 25 %.

  • 22 ÷ 1,10 = 20,00 € – Einkauf in Euro;
  • 20,00 × 1,25 = 25,00 € – mit Aufschlag;
  • 25,00 + 0,01 = 25,01 → aufgerundet auf 26 → 26 − 0,01 = 25,99 €.
Preisberechnung: 22 $ ÷ 1,10 = 20 €, plus 25 % = 25 €, aufgerundet auf 25,99 €

Das +0,01 sorgt dafür, dass ein runder Preis wie 25,00 € nicht auf 24,99 € fällt – unter deinen Aufschlag. Hängt der Aufschlag von der Kategorie ab, füg eine Spalte „Aufschlag“ hinzu und setz sie statt $H$2 in die Formel. Welcher Aufschlag Versand und Gebühren deckt, steht im Artikel Aufschlag berechnen: Formeln und Beispiel; deine Marge prüfst du im Margenrechner.

Wie du die Preisliste des Lieferanten in deine Tabelle holst

Das hängt davon ab, wie der Lieferant sie schickt: als Google-Tabelle – IMPORTRANGE, als Link zu einer CSV-Datei – IMPORTDATA, als XML-Feed – IMPORTXML. Diese Funktionen heißen in der deutschen Version genauso wie in der englischen.

Drei Funktionen von Google Sheets holen Daten in die Preisliste: IMPORTRANGE, IMPORTDATA und IMPORTXML
Importfunktionen in Google Sheets
Preisliste des LieferantenFunktionWorauf du achtest
Google-Tabelle=IMPORTRANGE("Link";"Preise!A2:E")Einmal „Zugriff erlauben“ klicken; bis 10 MB Daten pro Anfrage
Link zu einer CSV- oder TSV-Datei=IMPORTDATA("Link")Funktioniert nur mit einem direkten Link auf die Datei
XML-Feed=IMPORTXML("Link";"//item/price")Das zweite Argument ist eine XPath-Abfrage auf die gewünschten Knoten

Der Import holt einen Bereich nach Adresse, nicht nach Spaltenname. Fügt der Lieferant zwischen Artikelnummer und Preis eine Spalte „Marke“ ein, füllt sich deine Spalte „Einkauf“ mit Markennamen – und die Preisformel liefert still einen Fehler oder Unsinn. Halte den Import auf einem eigenen Blatt und prüf die Überschriften nach jeder Änderung der Preisliste.

Wie du Kunden Zugriff auf die Preisliste gibst

Gib Kunden eine eigene Datei, nicht die Arbeitsdatei. „Jeder, der über den Link verfügt → Betrachter“ öffnet die ganze Tabelle, samt dem Blatt mit den Einkaufspreisen.

  1. Leg die Datei „Preisliste für Kunden“ an und hol aus der Arbeitsdatei per IMPORTRANGE nur Artikelnummer, Name, Preis und Bestand.
  2. Freigeben → „Jeder, der über den Link verfügt“ → „Betrachter“.
  3. Oder Datei → Freigeben → „Im Web veröffentlichen“: Die veröffentlichte Version übernimmt Änderungen am Original automatisch, laut Google kann das einige Minuten dauern.

Für verschiedene Kundengruppen, etwa Großhandel und Endkunden, machst du eigene Dateien mit eigenen Preisspalten: Links werden weitergegeben.

Wie du Kurs und Preise automatisch aktualisierst

Den EZB-Referenzkurs trägst du mit einem zeitgesteuerten Apps Script ein. Die Europäische Zentralbank veröffentlicht ihn an jedem Arbeitstag gegen 16:00 Uhr MEZ, also springen die Preise nicht im Tagesverlauf wie bei einem Marktkurs aus GOOGLEFINANCE. Öffne Erweiterungen → Apps Script und füg die Funktion ein:

function kursAktualisieren() {
  var url = 'https://data-api.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A?lastNObservations=1&format=csvdata';
  var zeilen = Utilities.parseCsv(UrlFetchApp.fetch(url).getContentText());
  var kurs = zeilen[1][zeilen[0].indexOf('OBS_VALUE')];
  SpreadsheetApp.getActive().getSheetByName('Preisliste')
    .getRange('H1').setValue(Number(kurs));
}

Dann im Skripteditor: Trigger → Trigger hinzufügen → Funktion kursAktualisieren → zeitgesteuert → Tagestimer → 17 bis 18 Uhr. Zeitgesteuerte Trigger laufen von jede Minute bis einmal im Monat; die genaue Uhrzeit verschiebt Google innerhalb der gewählten Stunde. Für Pfund oder Franken ersetzt du im Link USD durch GBP oder CHF. Die EZB veröffentlicht diese Kurse nur zur Information: Nennt dein Vertrag mit dem Lieferanten einen anderen Kurs, nimm diesen.

Ein Skript kann auch jede Nacht die Preisliste des Lieferanten per Link abholen und auf ein Blatt schreiben. Die Tabelle bleibt dann der einzige Ort, an dem du Preise rechnest – aktualisiert sich aber trotzdem nur so oft, wie die Limits in der Tabelle unten erlauben.

Google Sheets API: wann du sie brauchst und wie du anfängst

Die Google Sheets API ist die Schnittstelle, über die dein Programm – Shop, App, Python-Skript auf dem Server – Zellen einer Tabelle liest und schreibt, ohne sie im Browser zu öffnen. Du brauchst sie, wenn Preise zwischen der Tabelle und einem System außerhalb von Google fließen sollen; passiert alles in der Tabelle selbst, reicht Apps Script.

  1. Leg ein Projekt in Google Cloud an und aktiviere darin die Google Sheets API.
  2. Wähl die Anmeldedaten. Ein API-Schlüssel gibt nur anonymen Zugriff auf öffentliche Daten. Eine OAuth-Client-ID nutzt du, wenn das Programm im Namen einer Person handelt und sie um Zustimmung bittet. Ein Dienstkonto, wenn das Programm selbstständig läuft, etwa auf dem Server des Shops.
  3. Gib die Tabelle für die E-Mail-Adresse des Dienstkontos frei wie für einen normalen Nutzer: Rollen in Google Cloud geben keinen Zugriff auf Dateien in Google Drive.
  4. Installier die Google-Clientbibliothek für deine Sprache (für Python nennt Google das Paket google-api-python-client) und lies einen Bereich, zum Beispiel Preisliste!A2:E.

Die normale Nutzung der Google Sheets API ist kostenlos. Die Limits: 300 Lese- und 300 Schreibanfragen pro Minute und Projekt sowie je 60 pro Minute und Nutzer im Projekt. Google kündigt an, dass Überschreitungen der Kontingente noch 2026 über das Google-Cloud-Rechnungskonto kostenpflichtig werden sollen. Eine einzelne Anfrage, die länger als 180 Sekunden läuft, bricht mit einem Fehler ab, und Google empfiehlt Nutzlasten bis 2 MB – schreib die Preisliste deshalb in Paketen (eine Anfrage pro Bereich), nicht Zelle für Zelle.

Wo eine Tabelle an ihre Grenzen kommt

Die Tabelle stößt an das Limit der Aktualisierung, nicht der Zeilen: Importfunktionen aktualisieren sich alle 30–60 Minuten, und Skripte haben ein Tageslimit für die Laufzeit.

Limits von Google Sheets: Import alle 30–60 Min., bis 20 Mio. Zellen, ein Skript läuft bis 6 Min.
Google-Limits, die eine Preisliste betreffen (geprüft am 01.11.2026)
WasLimit
Größe der Tabellebis 20 Mio. Zellen oder 100 MB
IMPORTRANGEbis 10 MB Daten pro Anfrage; Aktualisierung alle 30 Minuten
IMPORTDATA, IMPORTXML, IMPORTHTMLAktualisierung jede Stunde
GOOGLEFINANCEverzögert um bis zu 20 Minuten
Ausführung von Apps Scriptbis 6 Minuten pro Ausführung
Trigger, privates Gmail-Kontobis 90 Minuten Laufzeit pro Tag
UrlFetchApp-Aufrufe, privates Gmail-Kontobis 20 000 pro Tag
Google Sheets API300 Lese- und 300 Schreibanfragen pro Minute und Projekt, 60 pro Nutzer

Praktische Zeichen, dass die Tabelle nicht mehr mitkommt:

  • du hast mehr als drei oder vier Lieferanten, jeder mit eigenen Spalten, eigener Währung und eigenen Bestandsangaben;
  • dasselbe Produkt steht in mehreren Preislisten, und den Preis wählst du von Hand;
  • die Preise im Shop sollen sich öfter als einmal pro Stunde ändern;
  • jemand verbringt jede Woche Stunden damit, Formeln nach einer geänderten Preisliste zu reparieren.

Wann du Preislisten einem Programm überlässt

Wenn du mehrere Lieferanten hast und ihre Preise in den Shop gelangen sollen, ohne dass jemand Formeln von Hand prüft.

Elbuz holt die Preisliste des Lieferanten direkt aus einer Google-Tabelle per Link – auch aus einer privaten, die der Lieferant für die Service-E-Mail von Elbuz freigegeben hat – und außerdem aus E-Mail, FTP oder von einer Website, zu einer festen Uhrzeit. Spalten erkennt es an den Überschriften nach seinem Wörterbuch; stellt der Lieferant die Spalten um, warnt es beim Import und schlägt die neuen Adressen mit einem Klick vor. Kurs (auch der EZB-Referenzkurs), Aufschlag und Rundung legst du per Regel fest. Mehr auf der Seite Automatisierung von Lieferantenpreislisten.

Wem es nichts bringt: Bei einem Lieferanten und einigen Hundert Artikeln reicht Google Sheets mit einer Formel und einem Kurs-Skript.

Preislisten aus Google Sheets in ElbuzSpalten, Kurs und Aufschlag per Regel, 14 Tage kostenlos

Häufige Fragen

Ist die Google Sheets API kostenlos?

Ja, die normale Nutzung ist kostenlos im Rahmen von 300 Anfragen pro Minute und Projekt und 60 pro Nutzer. Google kündigt Gebühren für Überschreitungen der Kontingente noch für 2026 an.

Wie bekomme ich Zugriff auf die Google Sheets API?

Aktiviere die Google Sheets API in einem Google-Cloud-Projekt, erstelle Anmeldedaten (OAuth oder Dienstkonto) und gib beim Dienstkonto die Tabelle für dessen E-Mail-Adresse frei. Die Schritte stehen im Abschnitt Google Sheets API.

Wie importiere ich API-Daten in Google Sheets?

Ohne Code mit IMPORTDATA (CSV) oder IMPORTXML (XML), wenn die API eine Datei unter einem festen Link liefert. Für JSON und für Zugriff mit Schlüssel nimmst du Apps Script mit UrlFetchApp – wie im Skript für den EZB-Kurs.

Wie verknüpfe ich zwei Google Tabellen?

Mit IMPORTRANGE: Gib den Link zur Tabelle und einen Bereich an, zum Beispiel "Preise!A2:E", und klick beim ersten Mal auf „Zugriff erlauben“.

Wie oft aktualisieren sich IMPORTRANGE und IMPORTXML?

Laut Google-Hilfe IMPORTRANGE alle 30 Minuten, IMPORTDATA, IMPORTXML und IMPORTHTML jede Stunde. Schneller geht es nur per Skript oder Programm.

Wie gebe ich Kunden eine Preisliste nur zum Ansehen frei?

Mach eine eigene Datei für Kunden ohne Einkaufspreise und gib sie als „Jeder, der über den Link verfügt → Betrachter“ frei oder veröffentliche sie über Datei → Freigeben → „Im Web veröffentlichen“.

Wie viele Daten passen in eine Google-Tabelle?

Bis 20 Mio. Zellen oder 100 MB pro Tabelle. Für eine Preisliste sind die Limits für Import-Aktualisierung und Skriptlaufzeit wichtiger.

Quellen

Geprüft am 01.11.2026.

Den Link zu diesem Artikel speichern Telegram Facebook X LinkedIn Viber WhatsApp
Mehr über Elbuz mit KI erfahren Stellen Sie Ihre Frage – wählen Sie einen Chat und lassen Sie die KI diese Seite für Sie auswerten:

Diskussion über das Thema – Preisliste in Google Sheets: Preisformel, IMPORTRANGE, Google Sheets API und Limits

0 Kommentare

Für dieses Produkt gibt es noch keine Bewertungen

Kommentar schreiben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind angekreuzt

Nachster

Elbuz kostenlos testen