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
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
}
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
});
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.