我需要运行一个包含逻辑的脚本:If isNumber,Then DoSomething。
我运行其他此类,如果那时测试,如果为空,并且单元格包含“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。###############”。如何识别哪些单元格是数字?
答案 0 :(得分:8)
这将检查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 nuumber")
}
}
答案 1 :(得分:5)
Google Apps脚本可以使用大多数JavaScript方法和运算符。
检查对象是否为数字的另一种方法是使用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
。答案 2 :(得分:0)
如果值是数字或数字的字符串表示形式,如果要进行数字填充,则可以执行以下操作:
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
}
请参阅:
(Built-in) way in JavaScript to check if a string is a valid number