it-swarm.com.de

Wie kann eine Filteransicht in Google Sheets automatisch aktualisiert werden, wenn neue Daten über Google Forms eingehen?

Ich habe eine Filteransicht in Google Sheets, die nicht aktualisiert wird, wenn neue Daten über Google Forms eingehen.

Um die Filteransicht zu aktualisieren, kann ich den Filter entfernen und erneut anwenden oder einfach im Filtermenü auf "OK" klicken, ohne etwas zu ändern. F5 und Schließen/erneutes Öffnen der Seite funktioniert jedoch nicht.

Ich brauche eine Möglichkeit, die Filteransicht automatisch zu aktualisieren, wenn neue Daten eingehen. Oder zumindest, um die aktualisierte Filteransicht zu erhalten, wenn ich die Website schließe und wieder öffne, ohne manuell an den Filtereinstellungen herumspielen zu müssen.

Irgendwelche Ideen, wie ich das machen könnte? Vielleicht mit einem Skript, das bei FormSubmit ausgelöst wird?

7
RudolfKaiser

Google Apps Script wird zum Erweitern von Google Sheets verwendet. Wie jedoch von @Normal Human festgestellt wurde, enthält es derzeit keine Methoden zum Aktualisieren/Aktualisieren von Google Sheets-Filtern.

https://code.google.com/p/google-apps-script-issues/ ist der Ort für Funktionsanfragen und Verbesserungen an vorhandenen Google Apps Script-Diensten. Die Nutzer können eine Funktionsanforderung "upvoten", indem sie ein Problem markieren. In diesem Fall ist das zugehörige Problem:

Ausgabe 524: Integration von Tools/Filter mit Google Apps-Skript

4
Rubén

Probieren Sie ein Skript aus, das bei FormSubmit ausgelöst wird. Holen Sie sich und setzen Sie die gleichen Kriterien.

  var sheet = SpreadsheetApp.getActiveSheet();
  var filter = sheet.getFilter();
  if (filter) {
    var criteria = filter.getColumnFilterCriteria(4);
    if (criteria) {
      filter.setColumnFilterCriteria(4, criteria)
    }
1
Peter

Ich habe eine Problemumgehung gefunden, mit der das gleiche Ergebnis erzielt wird, die Einrichtung kann jedoch etwas länger dauern.

Ich erstelle eine Pivot-Tabelle mit den Daten, die aus den Google Forms-Ergebnissen stammen, bearbeite die Tabelle, um die Daten so darzustellen, wie ich es möchte, und verknüpfe die Pivot-Tabelle dann mit einem neuen Blatt (unter Verwendung von = {'Sheet Name '! A1: G100}) und formatieren Sie das endgültige Blatt nach meinen Wünschen.

Auf diese Weise können Sie die Daten in der Pivot-Tabelle filtern/bearbeiten, und sie werden im endgültigen Blatt wiedergegeben. Außerdem und vor allem wird es automatisch aktualisiert, sobald neue Formulardaten eingehen.

** Hinweis: Stellen Sie sicher, dass der Pivot-Tabellenbereich die leeren Zellen im Google Form-Ergebnisblatt enthält, in denen die Daten hinzugefügt werden. Das bedeutet, wenn Sie jetzt nur 50 Datenzeilen haben, aber Sie wissen, dass Sie bis nächste Woche 1000 Zeilen haben werden. Richten Sie den Bereich der Pivot-Tabelle auf 1000+ Zeilen ein!

1
Roman Y. K

Manchmal, wenn ich eine Funktion in Google Sheets ermitteln muss, beginne ich mit der Aufzeichnung eines Makros, nehme die gewünschten Änderungen vor und beende dann die Aufzeichnung des Makros. Dabei habe ich festgestellt, dass es eine Aktualisierungsfunktion gibt.

Ich habe eine einfache onEdit-Funktion geschrieben. Mein Filter wird nur aktualisiert, wenn die Daten auf einer bestimmten Seite geändert werden, da dies die einzige Seite ist, die sich auf die gefilterten Zeilen auswirkt.

function onEdit(e){

  // Set a comment on the edited cell to indicate when it was changed.

  var range = e.range;
  var sheet = range.getSheet();

  if (sheet.getSheetName() === "CNST Cost Estimator")
  {
    UpdateFilter();
  }
}
1
wriddle2