web-dev-qa-db-ja.com

var isnumberの場合、スクリプト用

ロジックが含まれているスクリプトを実行する必要があります:IsNumber、Then DoSomethingの場合。

私は他のそのようなif thenテスト(空白の場合、セルに「x」が含まれる場合など)を実行しました。簡単なはずですが、解決策が見つかりません。 getNumberFormat、innum、isnumberなどを試しました。

function ifIsNumber() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();

var substring1 = s.getRange("A1").getNumberFormat();

s.getRange("B1").setValue(substring1);

}

このコードはセルA1をチェックし、セルB1に文字列「0。###############」を返します。両方のセルに数値とテキストが含まれています。どのセルが数値であるかをどのように特定できますか?

13

これは、A1が数値かどうかをチェックします。

function ifIsNumber() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var s = ss.getActiveSheet();
    var substring1 = s.getRange("A1").getValue();
    if (!isNaN(parseFloat(substring1)) && isFinite(substring1)) {
        s.getRange("B1").setValue("Is a number");
    } else {
        s.getRange("B1").setValue("Not a number");
    }
}
10
Ed Nelson

Google Apps Scriptは、ほとんどのJavaScriptメソッドと演算子を使用できます。

オブジェクトが数値であるかどうかを確認する1つの方法は、 typeof を使用することです。

次のコードは、参照で指定されたセルの値のタイプを返します。

function typeofcellvalue(reference) {
  var ss = SpreadsheetApp.getActive();
  var rng = ss.getRange(reference);
  var value = rng.getValue();
  return typeof value;
}

カスタム関数としての使用例

=typeofcellvalue("A1")

セルA1

  • 番号がある場合、結果はnumberになります。
  • 空の場合、結果はstringになります。
6
Rubén

値が数値または数値の文字列表現である場合に数値を入力する場合は、次の操作を実行できます。

if (!isNaN(myVar)){//myVar is either a number or a string representing a number
    myNumericVar = +myVar;//convert myVar to number if necessary
    //do number stuff
} else {
   //do non-numeric stuff
}

見る:

文字列が有効な数値かどうかを確認するJavaScriptの(組み込み)方法

0
user40176