J'ai besoin d'un peu d'aide avec mon scénario.
Tout d'abord, voici un lien vers le ss: https://docs.google.com/spreadsheets/d/1TgG64irjoxkV9wKlT5bEnaNEWlGyOlNxVoLxOmQZ2BA/edit?usp=sharing
Je souhaite supprimer des lignes de la feuille "Équipe 1" (plage: A15: A41), en fonction des valeurs de la feuille "Vue d'ensemble" (plage: C4: C12).
Fondamentalement, si une valeur de C4: C12 est trouvée dans A15: A41, la ligne où se trouve doit être supprimée.
Ex. pour mon ss: C4 = 3, cela signifie que dans la feuille «Team 1», la ligne 17 doit être supprimée.
Mon script jusqu'à présent:
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName('Overview');
var s2 = ss.getSheetByName('Team 1');
var r1 = s1.getRange("C4");
var v1 = r1.getValue();
var r2 = s2.getRange("A2:A28");
var v2 = r2.getValues();
for(var i=28;i>0;i--)
if(v1[i]=v2)
s2.deleteRow(i+1);
};
Mais la seule chose que j'obtiens est de supprimer toutes les lignes, les critères ne sont pas pris en compte.
Merci.
Je crois que votre objectif est le suivant.
Team 1
en comparant la cellule "C4" de la feuille Overview
avec les cellules "A2: A28" de la feuille Team 1
.Pour cela, qu'en est-il de cette modification?
v1
y a une valeur qui n'est pas un tableau. v2
est un tableau à 2 dimensions.
v1[i]=v2
, le tableau à 2 dimensions est tenté de placer undefined
. Par cela, v1[i]=v2
existe toujours. Ainsi s2.deleteRow(i + 1);
est toujours exécuté. Je pense que c'est la raison de votre problème.==
et / ou ===
au lieu de uniquement =
dans l'instruction if.0
.s2.getRange("A2:A28")
est utilisé, le décalage doit être ajouté au numéro de ligne de suppression.Lorsque les points ci-dessus sont reflétés dans votre script, cela devient comme suit.
for (var i = 28; i > 0; i--)
if (v1[i] = v2)
s2.deleteRow(i + 1);
À:
for (var i = v2.length - 1; i >= 0; i--)
if (v2[i][0] == v1)
s2.deleteRow(i + 2);
v2.length
est utilisé pour récupérer la longueur du tableau.Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras