2015-06-01 4 views
6

Ich habe ein Google App-Skript, das Informationen an ein organisiertes Blatt übermittelt und eine Pivot-Tabelle mit allen Informationen auf dem Blatt erstellen möchte. Ich kann das tun, aber jedes Mal, wenn ich dem Blatt eine neue Datenzeile übermittle, wird es nicht automatisch in die Pivot-Tabelle aufgenommen. Ich muss den Bereich der Pivot-Tabelle jedes Mal manuell ändern, wenn ich eine neue Datenzeile einreiche. Gibt es eine Möglichkeit, die Blatt/Pivot-Tabelle automatisch die neue Zeile der Daten aufnehmen zu lassen?Google Tabellen-Pivot-Tabelle wird nicht aktualisiert

+0

Welche Methode verwenden Sie, um den Bereich von Sheet zu erhalten? Mit [sheet.getDataRange()] (https://developers.google.com/apps-script/reference/spreadsheet/sheet#getDataRange()) können Sie den Datenbereich aus dem aktualisierten Blatt abrufen. Ich hoffe, das hilft! – KRR

+1

Sorry, ich könnte nicht klar gewesen sein. Ich verwende die integrierte Option in Google Tabellen, um eine Pivot-Tabelle zu erstellen. Wenn ich darauf klicke, wird eine Tabelle mit allen Informationen erstellt, die ich momentan im Blatt habe, aber ich möchte, dass es aktualisiert wird, wenn mehr Zeilen zum Blatt hinzugefügt werden. Ich kann dafür keine Option finden. – Ben

+1

In diesem Fall müssen Sie den Bereich bei Bedarf manuell ändern. Dies ist nicht einmal pragmatisch möglich. Überprüfen Sie diese Frage http://stackoverflow.com/questions/27550329/create-pivot-table-using-google-apps-script – KRR

Antwort

2

gibt es einen Weg. Ich habe genau das vor 3 Jahren auf Blättern gemacht.

Wenn Sie die neuen Zeilen mit Google Formulare übermitteln, gibt es keine Möglichkeit.

Wenn Sie versuchen, den Bereich programmatisch zu aktualisieren, gibt es auch keine Möglichkeit, da benannte Bereiche gelöscht und dann neu hinzugefügt werden müssen, wodurch #ref im Pivot verursacht wird.

jetzt für den guten Teil. Wenn Sie die neue Zeile per Skript hinzufügen, fügen Sie sie nicht an das Ende an. Behalte stattdessen eine falsche Zeile am Ende (mit Nullwerten, so dass Pivot nicht betroffen ist) und füge die neue Zeile direkt davor ein. Ihr Bereich (benannt oder nicht) wird aktualisiert.

sogar für die Google Formulare Fall Sie könnten es zu arbeiten, indem Sie alle leeren Zeilen vor dem Antwortblatt vor und fügen Sie den benannten Bereich auch die leeren enthalten. genießen Sie!

4

Ich habe dieses Problem behoben, indem ich nur den Spaltenbereich angegeben habe.

Zum Beispiel, wenn Sie Zeilendaten in Spalten A bis F haben, stellen Sie den Bereich der Pivot-Tabelle BLATT A: F

Wenn Sie Zeilen jetzt hinzufügen, werden die neuen Daten in diesen Spalten hinzugefügt zum Pivot-Tisch.

+1

Beachten Sie, dass dadurch nicht automatisch neue Elemente zu "Filters" hinzugefügt werden. Wenn Sie leere Zellen herausgefiltert haben, müssen Sie jedes Mal erneut Zellen auswählen (alle auswählen, Leerstellen entfernen). – Michael

+0

@Michael Danke dafür! Haben Sie jemals eine Möglichkeit gefunden, Leerzeichen zu filtern und die Tabelle automatisch zu aktualisieren? –

+0

@MitchLillie: Wir haben nicht, nein. Um dieses Problem zu umgehen, löschten wir die leeren Zeilen und setzten das Skript (weil es sich um ein Skript handelte), um Zeilen an die Quelldaten anzufügen, anstatt leere Zeilen zu füllen, die bereits vorhanden waren. – Michael