空のセルとゼロを区別する方法


7

空のフォーム、ゼロ、またはその他の数字「d」を残すことができるフォームから、特定の応答の数を数えたい。

次のコード:

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

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

それan empty cell == 0が真であると仮定し、実際に値ゼロを保持するセルの間違った数を数える

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

またはのバリエーション!= null / != ""は私にはうまくいかないようです

編集:ドキュメントへのリンク。コピーすれば脚本が見えると思います。


ドキュメントを共有できますか?
Jacob Jan Tuinstra 2013年

追加された完全なコード(少なくともカウント部分)も役立ちます。質問を編集できますか?
Jacob Jan Tuinstra 2013年

1
私のドキュメントへのリンクを追加しました。スクリプトが表示されることを願っています。
レイヴン

あなたが作成した素敵なスタイルのシート!! 見てみましょう。
Jacob Jan Tuinstra 2013年

回答:


3

異なるために数えるときdの値は、配列内のオブジェクトがあるかどうかを確認する必要があるstringnumberに基づきます:

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

すばらしい、それは完璧に機能しました!どうもありがとう:)
レイヴン

4

isBlank()関数を試しましたか?


OPはスクリプトソリューションの後にあります。
Jacob Jan Tuinstra、2014年

1
@JacobJanTuinstra isBlank()は、Google Appsスクリプト関数です(リンクを確認してください)。
パンチライン、

@Punchlinernはそれを知らなかった...
Jacob Jan Tuinstra 2014年

1
あなたは毎日何かを学びます:)
Punchlinern

@phermous:試しましたか?
Jacob Jan Tuinstra、2014年

3

以下を使用して、空のゼロ値または「その他」を判別することもできます。

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

2
タイトルは直面している問題に対応していません。私は本当の問題を理解するために深く掘り下げる必要がありました。これは問題を解決していません
Jacob Jan Tuinstra 2013

何故なの?空のセルを正しくスキップするようです。OPのケースではdoEmptyCellStuffが何もしない必要があるということだけです...そして最後のその他は省略できます。
DylanYoung
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.