【发布时间】:2015-02-19 05:54:55
【问题描述】:
我正在使用谷歌脚本,我想检查一个单元格的类型,如果它是字符串,则做一些事情,如果是数值。做点别的。
我找不到像 isString 或 isText 这样的函数。
这是我的代码,typeof 没有检测到单元格包含数字
function Results() {
var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
var pred = activeSheet.getSheetByName("Copy of Predictions");
var real = activeSheet.getSheetByName("16 Results");
var realRes = real.getRange("B7:B61");
var realVal = realRes.getValues();
var cell, cellValue, row, col;
for(col=2;col<16;col++){
var predRes = pred.getRange(7, col, realVal.length);
var predVal = predRes.getValues();
for(row=0;row<predVal.length;row++){
if(predVal[row] == ""){
continue;
}else if(typeof predVal[row] === "number"){
if((predVal[row][0] == realVal[row][0]) && (predVal[row+1][0] == realVal[row+1][0])){
cell = pred.getRange(col, 3);
cellValue = cell.getValue();
cell.setValue(cellValue + 15);
}else{
if(((predVal[row][0] - predVal[row+1][0]) < 0) && ((realVal[row][0] - realVal[row+1][0]) < 0)){
cell = pred.getRange('B3');
cellValue = cell.getValue();
cell.setValue(cellValue + 5);
}else if(((predVal[row][0] - predVal[row+1][0]) > 0) && ((realVal[row][0] - realVal[row+1][0]) > 0)){
cell = pred.getRange('B3');
cellValue = cell.getValue();
cell.setValue(cellValue + 5);
}else if(((predVal[row][0] - predVal[row+1][0]) == 0) && ((realVal[row][0] - realVal[row+1][0]) == 0)){
cell = pred.getRange('B3');
cellValue = cell.getValue();
cell.setValue(cellValue + 5);
}
}
row++;
}else{
continue;
}
}
}
};
【问题讨论】:
-
这不是apps-script问题,只是Javascript问题,取值分析一下,可以
typeof查看。 -
请看我更新的答案。您的解决方案在我的答案的底部。
标签: google-apps-script google-spreadsheet-api