web-dev-qa-db-fra.com

Comment distinguer les cellules vides de zéro

Je veux compter un certain nombre de réponses spécifiques d'un formulaire où la réponse peut être laissée vide, zéro ou tout autre nombre 'd'.

Le code suivant:

var data = sheet.getRange("B2:L").getValues();

var d = 0;
if (data[i][j] == d){
    count++;
}

suppose que an empty cell == 0 est vrai, comptant ainsi le nombre incorrect de cellules qui contiennent réellement la valeur zéro

var d = 0;
if (data[i][j] != '' && data[i][j] == d){
    count++;
}

ou toute variante avec != null / != "" ne semble pas fonctionner pour moi

EDIT: Lien au document. Je pense que vous pouvez voir le script si vous en faites une copie.

7
Raven

Lorsque vous comptez pour les différentes valeurs d, vous devez vérifier si les objets du tableau sont basés sur string ou number:

for (var j=1; j<lastColumn-1; j++) {
  if (typeof data[i][j] !== 'string') {
    count[+data[i][j]][d]++;   
  }
}
3
Jacob Jan Tuinstra

Avez-vous essayé la fonction isBlank () ?

4
phermous

Vous pouvez également utiliser ce qui suit pour déterminer vide, valeur nulle ou 'else'.

 if (cell === "") // empty cell
     doEmptyCellStuff();
 else
 if (cell == 0)  // zero-value cell
     doZeroValueCellStuff();
 else
     dValueCellStuff();
3
Jimmy Ng