So können Sie versteckte Zeilen überspringen, während Sie in Google Spreadsheet mit Google Apps Script fortfahren

8

Ich habe eine Google-Tabelle mit vielen ausgeblendeten Zeilen und möchte sie überspringen, wenn ich eine Liste von Zeilen in der Tabelle durchblättere.

Es ist hauptsächlich ein Effizienzproblem, da es sich um mehr als die Hälfte meiner Zeilen handelt, die versteckt sind und nicht überprüft werden müssen.

Jede Hilfe wäre willkommen.

    
kevlar1818 22.07.2011, 17:29
quelle

4 Antworten

5

Es gibt keine direkte Möglichkeit, dies in Apps Script zu tun, aber es gibt eine feature request geöffnet, um eine Möglichkeit zu bieten, den Status einer Zeile anzuzeigen / zu verbergen, wenn Sie sie anzeigen möchten.

    
Jan Kleinert 25.08.2011, 12:35
quelle
3

Der Issue Tracker hält diese Anforderung seit dem 3. August 2010 bereit eine mittlere Priorität und nur einen "Triaded" Status. Mehr als 3 Jahre und keine Anzeichen einer Lösung vom GAS-Team.

Meine Problemumgehung bestand darin, ein spezielles vorangestelltes Zeichen zu verwenden, das den Sichtbarkeitsstatus der Zeile / Spalte angibt. Es handelt sich um einen führenden Backtick (') in den Zellen der obersten Kopfzeile / Spalte. Falls verbundene Zellen in Spaltenüberschriften verwendet werden, sollte eine leere oberste Zeile nur für diese Funktionalität zugewiesen werden, bis die Google-Ingenieure die API verbessern. Gleiches gilt, wenn Formeln in der 1. Zeile / Spaltenzelle (n) vorhanden sind. Diese dedizierten Zeilen / Spalten selbst können ausgeblendet werden.

Nach der Verwendung dieser Funktionalität sollte jeder Befehl zum Ein- / Ausblenden von Spalten / Zeilen über ein benutzerdefiniertes Menü ausgeführt werden, da sonst beim programmatischen Durchlaufen des Bereichs aufgrund des fehlenden / übermäßigen Rückens Fehler auftreten.

z.B. Um Zeilen ausgewählter Zellen auszublenden, wird die folgende Funktion aufgerufen:

%Vor%

und das Menü

%Vor%

Sobald Google-Entwickler die Zeit finden, das onChange-Ereignis zu verbessern, ist es möglich, diese Backticks automatisch zu setzen. Derzeit ist der changeType auf EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, OTHER ohne weitere Details beschränkt auf dem Zeile / Spalte eingefügt / entfernt wurde. Sieht so aus, als wäre das Team hinter GAS spärlich. Ich wünschte, sie könnten mehr Programmierer einstellen (khm khm)

    
Steven Pribilinskiy 05.10.2013 02:02
quelle
1

Eine Problemumgehung Erstellen Sie 2 Spalten A und B. A muss immer einen Wert haben und B hat eine Menge von Formeln. Diese 2 Spalten sehen so aus:

%Vor%

SUBTOTAL gibt eine Zwischensumme mit einer angegebenen Aggregationsfunktion zurück. Das erste Argument 103 definiert den Typ der für die Aggregation verwendeten Funktion. Das zweite Argument ist der Bereich, auf den die Funktion angewendet werden soll.

  • 3 bedeutet COUNTA und zählt die Anzahl der Werte im Bereich
  • +100 bedeutet, versteckte Zellen im Bereich zu ignorieren.

Das Ergebnis von SUBTOTAL mit einem Bereich von 1 Zelle ist 0, wenn die Zelle ausgeblendet ist, und 1, wenn die Zelle angezeigt wird. NOT invertiert es.

Nun können Sie die zweite Spalte mit Ihrem Skript lesen, um zu wissen, ob eine Zeile ausgeblendet ist.

Hier ist die umgesetzte Frage und Antwort: Ссылка

    
Christiaan Westerbeek 08.01.2015 17:36
quelle
0

Zur Problemumgehung ist es möglich, mithilfe der Funktion SUBTOTAL eine Zwischensumme für eine Vertikale zurückzugeben Zellbereich.

Syntax ist:

%Vor%

wobei versteckte Werte für jeden dieser Codes übersprungen werden können, indem 10 (für die einstelligen Codes) vorangestellt wird.

Zum Beispiel 102 für COUNT beim Überspringen ausgeblendeter Zellen und 110 für VAR dabei.

Related: Google Spreadsheets summieren nur angezeigte Zeilen auf der Webapps SE

    
kenorb 04.08.2015 22:28
quelle