2017-09-09 4 views
-1

Comment exactement utilisez-vous isBlank() dans une fonction de script google apps?en utilisant isBlank() dans google apps script pour marquer la colonne

function pushGeo() 
{ 
var ssA = SpreadsheetApp.openById('###') 
var ss = ssA.getSheetByName('mySheet'); 
var lastRow = ss.getLastRow(); 
    var data = ss.getRange('G2:G'+lastRow); 
    for(var row=2;row<=lastRow;row++) 
    { 
    ss.getRange('G'+row+':G'+row).isblank(); // not working 
    if(isblank(data),'0','G'+row); // not working 
    } 
} 

Je souhaite vérifier une colonne 'G' pour les cellules vides. Si la cellule est vide, je veux définir sa valeur à '0'. En fin de compte, je veux prendre la colonne 'G' qui vient d'être vérifiée pour les cellules vides et la comparer à une autre colonne 'N'. Si la ligne de la colonne 'G' n'est PAS vide (maintenant avec la valeur '0'), placez la colonne 'G' dans la colonne 'N'. Je voulais changer les cellules vides à '0' afin que je puisse "mieux" voir le code, faciliter la comparaison, etc.

+0

La méthode est sensible à la casse. L'orthographe correcte est 'isBlank()' pas 'isblank()'. Voir https://developers.google.com/apps-script/reference/spreadsheet/range#isBlank() –

Répondre

0

Si vous avez beaucoup de données sur une feuille, vous pouvez envisager de le faire de cette façon. fonctionne beaucoup plus vite parce que vous obtenez et définissez toutes les données une seule fois.

function ifGIsBlankThenMakeItZero() 
{ 
    var ssA = SpreadsheetApp.getActive();//changed from openById() for my convenience 
    var ss = ssA.getActiveSheet();//change from getSheetByName() for my convenience 
    var lastRow = ss.getLastRow(); 
    var range = ss.getRange(2,7,lastRow,1);//row 2 column 7 (G) lastRow 1 column 
    var data = range.getValues();//Gets all data 
    for(var i=0;i<data.length;i++)//this runs over entire selected range 
    { 
    if(!data[i][0])//If true then it's blank 
    { 
     data[i][0]=0;//notice this is data[i][0] because there is only one column in the range. 
    } 
    } 
    range.setValues(data);//Sets all data. 
}