Masquer les lignes basées sur le contenu d'une cellule – Google Spreadsheet

Je veux créer un moyen de masquer un certain nombre de lignes s'il existe une certaine valeur dans une cellule d'une feuille de calcul Google.

Par exemple

AB 1 Include All options`? Yes/No 2 Option A: Yes/No 3 Option B: Yes/no etc. 

Si la cellule B1 est "oui", il n'est pas nécessaire de regarder toutes les autres options. Toutefois, si elles choisissent "Non", il faut une option pour sélectionner l'option "Oui / Non". Pour cette raison, j'aimerais cacher les lignes lorsque l'option = oui, mais les afficher si c'est Non

Ce code détecte si une certaine cellule (B3) a été modifiée, puis cache quelques lignes sous cette ligne (ligne 3) si elle a été modifiée:

 function onEdit(e) { Logger.log('e.value: ' + e.value); var cellEdited = e.range.getA1Notation(); Logger.log('cellEdited: ' + cellEdited); if (cellEdited === "B3") { var ss = SpreadsheetApp.getActiveSpreadsheet(); var theSheet = ss.getActiveSheet(); theSheet.hideRows(4, 2); }; } 

Ce code utilise un nom de fonction de onEdit() , ce qui signifie qu'il surveille la feuille de calcul pour les modifications apportées à une cellule. S'il y a une édition, la fonction s'exécute. Il s'agit d'un déclencheur «simple». Il existe également des déclencheurs installables pour la surveillance de la feuille de calcul.

Notez les Logger.log() . Cette déclaration imprime des informations sur les LOGS que vous pouvez visualiser à partir du menu VUE, LOGS.

Pour vos besoins:

 function onEdit(e) { Logger.log('e.value: ' + e.value); var cellEdited = e.range.getA1Notation(); Logger.log('cellEdited: ' + cellEdited); if (cellEdited === "B1" && e.value === "yes") { var ss = SpreadsheetApp.getActiveSpreadsheet(); var theSheet = ss.getActiveSheet(); theSheet.hideRows(2, 2); }; }