Je suis nouveau dans le script Google Apps et je voudrais créer une fonction pour une feuille de calcul qui additionne les valeurs des cellules lorsque les cellules répondent à certains critères, tels que la couleur d'arrière-plan. De plus, je voudrais passer la plage sous forme de tableau et ne pas utiliser la notation A1 pour la raison suivante.
J'ai trouvé une fonction qui utilise la notation A1 ici . Le problème est que lorsque je l'ai sur une cellule donnée
=sumWhereBackgroundColorIs("white", "A1:A10")
et je copie la valeur dans la cellule adjacente droite, le résultat sera à nouveau
= sumWhereBackgroundColorIs ("blanc", "A1: A10" )
alors que j'aimerais avoir
= sumWhereBackgroundColorIs ("blanc", "B1: B10" )
sinon, je dois toujours modifier manuellement l'argument d'entrée et je veux éviter cela car je dois utiliser cette fonction de manière intensive.
Par conséquent, j'ai essayé en passant une plage comme un tableau de valeurs en utilisant
=sumIfBgColor(#ffffff, A1:A10)
function sumIfBgColor(color, range){
var x = 0;
for(var i = 0; i < range.length; i++){
for(var j = 0; j < range[i].length; j++){
var cell = getCell();
if(cell.getBackgroundColor() == color)
x += parseFloat(range[i][j]);
}
}
return x;
}
mais je ne sais pas comment obtenir la cellule (c'est-à-dire l'objet de type Range) à partir de ce que j'ai.
la source
A1 notation
.Réponses:
À la revendication d'impossibilité de @ Jacob, je la réfute ainsi ... (mais merci pour l'amélioration de la vitesse)
en utilisant:
avec les fonctions suivantes fera ce que vous voulez.
la source
Référence: http://igoogledrive.blogspot.com/2015/11/google-spreadsheet-sum-of-colored-cells.html
Au lieu de transmettre des paramètres sous forme de chaîne à la fonction personnalisée, le script suivant prend l'entrée en tant que plage:
Jetez un œil à la capture d'écran suivante:
la source
Le petit script suivant fera l'affaire.
Code
Expliqué
Tout d'abord, la feuille de calcul active est déterminée. Ensuite, les valeurs et les couleurs, basées sur la plage, sont extraites. Les valeurs seront utilisées pour parcourir les couleurs et finalement la sommation.
Usage
Exemple
J'ai créé un exemple de fichier pour vous: somme basée sur l'arrière-plan
la source