web-dev-qa-db-fra.com

obtenir de la valeur dans une colonne d'une feuille de calcul à l'aide du script Google Apps

Je souhaite obtenir une valeur de chaîne (à comparer ultérieurement avec une condition if) à partir d'une seule colonne de feuille de calcul à l'aide du script Google Apps . J'ai effectué une recherche sur Internet et trouvé ce lien. nouveaux scripts dans les applications Google - https://developers.google.com/apps-script/class_spreadsheet

var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues(); 

Je suppose que cela doit être utile, le seul problème est que la colonne dans laquelle je veux obtenir les valeurs est dynamique. Comment définir la plage de cette colonne

19
Hashim Adel

si vous utilisez simplement:

var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues()

Vous obtiendrez un tableau à 2 dimensions de toutes les données de la feuille indexées par lignes et par colonnes.

Donc, pour obtenir la valeur dans la colonne A, ligne1, vous utilisez values[0][0], values[1][0] pour la colonne A, ligne 2, values[0][2] pour la colonne C rangée1, etc ...

Si vous devez itérer dans une boucle for (dans une seule colonne):

for(n=0;n<values.length;++n){
var cell = values[n][x] ; // x is the index of the column starting from 0
}

Si vous devez itérer dans une boucle for (dans une seule ligne):

for(n=0;n<values[0].length;++n){
var cell = values[x][n] ; // x is the index of the row starting from 0
}
33
Serge insas

moyen beaucoup plus facile de parcourir les lignes et d'obtenir une valeur de colonne .. espère que cela aide

var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

values.forEach( function(row) {
  row[4] // column index as 4
});
2
shakee93

Voici le script que j'utilise pour obtenir les valeurs dans une colonne dynamique:

var SS = SpreadsheetApp.getActiveSheet()
var Avals = SS.getRange("A1:A").getValues();
var numberOfValues = Avals.filter(String).length;
var RangeVals = SS.getRange(1,1,numberOfValues).getValues();

Je n'ai jamais eu à changer la ligne de départ en fonction d'un point de départ changeant. Serait intéressé de voir comment cela serait fait.

Voici un message similaire post . Un autre exemple ici .

0
gg-edu