Vergleichen der Werte von Zellen mit Google Tabellen Script
In diesem Tutorial zeige ich Euch ein ganz einfaches Script mit dem Ihr Werte aus Eurem Tabellenblatt vergleichen könnt. Die Funktionen versuche ich relativ klein zu halten damit Anfänger damit schnell zurecht kommen. Aus den ganzen kleinen Einzel – Tutorials lässt sich dann schnell etwas größeres zusammen basteln.
Die eingetragenen Werte werden direkt nach der Eingabe automatisch überprüft ohne das dafür ein Button oder sonstiges gedrückt werden muss. Hierfür ist die Funktion onEdit verantwortlich die aufgerufen wird sobald sich innerhalb von unserer Tabelle etwas ändert. Die Zellen werden über das Script verglichen und wenn die Werte gleich sind dann wird dieses in der Zelle C1 eingetragen. Gleichzeitig wird diese dann mit grünem Hintergrund farblich markiert. Sollten die Werte nicht übereinstimmen wird das mit roter Hintergrundfarbe deutlich gemacht.
Das passende Video findet Ihr weiter unten. Dort zeige ich Euch wie Ihr das Script Eurer Tabelle über den Script – Editor hinzufügen könnt.
Das Script "Vergleichen der Werte von Zellen" zum kopieren:
// Diese Funktion wird automatisch bei Änderung einer Zelle aufgerufen und ruft die Funktion werteVergleichen auf function onEdit(e){ werteVergleichen(); } // Dies ist die Haupt - Funktion die unsere Werte vergleicht und die Zellen entsprechend formatiert function werteVergleichen(){ // Hier wird die Zelle A1 ausgelesen und der Wert an die Variable wertA1 zugewiesen var wertA1=SpreadsheetApp.getActiveSheet().getRange("A1").getValue(); // Hier wird die Zelle B1 ausgelesen und der Wert an die Variable wertB1 zugewiesen var wertB1=SpreadsheetApp.getActiveSheet().getRange("B1").getValue(); // In der IF - Abfrage wird jetzt verglichen ob die beiden Zellen identisch sind. if(wertA1==wertB1){ // sind die Werte identisch wird dieser Bereich ausgeführt SpreadsheetApp.getActiveSheet().getRange("C1").setValue("GLEICH"); SpreadsheetApp.getActiveSheet().getRange("C1").setBackgroundRGB(255, 255, 255); }else{ // sind die Werte nicht identisch dann wird dieser Bereich ausgeführt SpreadsheetApp.getActiveSheet().getRange("C1").setValue("UNGLEICH"); SpreadsheetApp.getActiveSheet().getRange("C1").setBackgroundRGB(255, 0, 0); } }
Die Benutzung des Scripts erfolgt wie immer ohne Gewähr
Euch gefällt die Datei und Ihr wollt Euch unbedingt bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Man hätte dieses Script noch um einiges verkürzen können, indem man "SpreadsheetApp.getActiveSheet()" in eine eigene Variable packt. Wenn Ihr Fragen habt oder an einer bestimmten Stelle nicht weiter kommt, dann lasst es mich wissen. Dann werde ich das Tutorial entsprechend anpassen und mögliche Schwierigkeiten beim Nachprogrammieren hier veröffentlichen. Somit wird es anderen ebenfalls helfen können.
Ihr könnt dieses Video – Tutorial gerne hier schauen oder aber bei YouTube. Viel Spaß dabei.
Das könnte Dich auch interessieren
- Aktive Zelle auslesen mit einem Google Tabellen Script
- Daten anderer Tabellen kopieren (Google Tabellen Script)
- Daten mit Script an den Listenanfang verschieben (Google Tabellen Script)
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- Einfügen oder löschen von Zellbereichen (Google Tabellen Script)
- Hallo Welt in Google Tabellen Script
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Tutorials über Google Tabellen Script - Programmierung
- Wertebereich einer Zelle mit Google Tabellen Script überprüfen
6 Comments
Hallo Chris,
gerne sende ich Dir einen Kommentar zu. Deine Tutorials sind sehr informativ und beantworten genau meine Fragen.
Besonders interessieren mich die Google Anwendiungen.
Von den Scripten habe ich schon zwei ausprobiert und konnte Sie .leicht auf meine speziellen Fragestellungen umbauen. Hat alles funktioniert.
Danke für Deine Hilfe!….
Grüße aus Freiburg
Wilhelm Peters
Hallo Wilhelm, vielen Dank für Dein positives Feedback 😉
Da kommen sicher nach und nach noch mehr Tutorials, weil mir das gerade mit der Script-Programmierung in den Google-Tabellen selbst sehr viel Spaß macht. Schade das die Zeit nur immer so knapp ist, sonst wären hier sicher schon sehr viel mehr Tutorials darüber 😉
Viele Grüße
Chris
Hallo Chris,
meine Apps Script Kenntnisse sind noch sehr rudimentär.
Ich habe mir eine Aufgabenstellung gesetzt zu der ich kein "fast fertiges Script" finden konnte, daher werde ich es jetzt mal selber versuchen, vermute aber, dass ich an meine Grenzen stoßen werde.
Vielleicht hast du ja ein paar Tipps.
Folgendes würde ich gerne über Appsscript laufen lassen (hier ein analoges aber leichter zu verstehendes Beispiel):
Es gibt zwei Tabellblätter die als Datensatz dienen: 1. "Saison_2018" und 2. "Historie" und ein drittes Tabellenblatt "Übersicht" in die meine Funktion Daten aus beiden Datensätzen zusammenführen soll.
In Tabellenblatt 1 ist die Tabelle der aktuellen Fußball Bundesliga.
in Tabellenblatt 2 ein Auflistung der Bundesliga Platzierungen aller Mannschaften zu Saisonende der Historie (chronologisch gelistet)
Meine Funktion soll letztlich die Daten aus Tabellenblatt 1 einfach in Tabellenblatt 3 kopieren, soweit bin ich auch schon.
Nun soll die Funktion aber auch die Mannschaftsnamen von Tabelle 1 mit den Namen in Tabelle 2 vergleichen und die Jahre in denen die jeweilige Mannschaft Meister wurde in EINER Zelle untereinander zusammengführt (join()?) neben die jeweilige Mannschaft in Tabellenblatt 3 einfügen.
Ich werde mich mal weiter dransetzen, aber falls du ein paar Anregungen hast, dann immer her damit.
VG, Max
Hi Max, ich bin mir nicht sicher ob Du da wirklich die Programmierung benötigst. Du kannst unglaublich viel mit der Funktion SVerweis, Filter und QUERY machen. Wobei QUERY sehr flexibel ist.
Query:
https://toptorials.com/funktion-query-wie-sql-google-tabellen/
Filter:
https://toptorials.com/funktion-filter-google-tabellen-spreadsheets/
SVerweis:
https://toptorials.com/sverweis-google-tabellen/
Was ich noch nicht ausprobiert habe aber was Du selbst mal testen könntest wäre Filter oder Query in einer Verketten Funktion einzubauen damit die Daten dann innerhalb einer Zelle stehen. Ich glaube das war ja eher Dein Ziel.
Viele Grüße
Chris
Hi Chris,
mit query habe ich es schon gemacht, das läuft schon auch ist aber bei den Daten die ich verarbeiten möchte recht Rechenintensiv und verlangsamt das sheet sehr stark, weshalb ich das ganze über ein script realisieren möchte.
Also über ein script möchte ich letztlich Daten aus derzeit vier verschienden Tabellen/Exporten zusammenführen und dann in einem weiteren Tabellenblatt mittels mehrerer querys mit verschiedenen Parametern die jeweils gewünschten Daten darstellen lassen.
Da gibt es mehrere Möglichkeiten. Das ist eine Kombination aus mehreren Tutorials.
https://toptorials.com/zelle-anderes-dokument-kopieren-google-tabellen-script/
https://toptorials.com/moveto-kopieren-verschieben-google-tabellen-script/
https://toptorials.com/zelle-kopieren-google-tabellen-script/https://toptorials.com/aktive-zeile-in-andere-tabelle-kopieren-google-tabellen-script/
Du kannst anstatt wie in den Beispielen die aktive Tabelle zu benutzen auch ein Tabellendokument über die ID nutzen. Die Ergebnisse kannst Du dann ja immer noch über Querys weiter filtern.