如何在 google sheet 中提取不带括号的单元格值?
How to extract cell value without brackets in google sheet?
我正在 google spread sheet 中编写脚本,我有一个值数组,但它包含方括号 [],我只需要读取一个变量中的值而无需括号。
在下面的代码中,测试获取的值为 ["whatever"],我需要测试等于 "whatever" 不带括号
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, predVal, predRes, test;
for(col=2;col<16;col++){
predRes = pred.getRange(7, col, realVal.length);
predVal = predRes.getValues();
for(row=0;row<predVal.length;row++){
test = predVal[row];
if(predVal[row] == ""){
continue;
}else if(typeof test === 'string'){
continue;
}else{
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++;
}
}
}
};
您看到方括号的原因是 getValues() returns 一个数组数组,因此您看到的是一个包含单个值的数组。
test = predVal[row][0];
将为您获取 "row" 中第一个单元格的值。
我正在 google spread sheet 中编写脚本,我有一个值数组,但它包含方括号 [],我只需要读取一个变量中的值而无需括号。
在下面的代码中,测试获取的值为 ["whatever"],我需要测试等于 "whatever" 不带括号
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, predVal, predRes, test;
for(col=2;col<16;col++){
predRes = pred.getRange(7, col, realVal.length);
predVal = predRes.getValues();
for(row=0;row<predVal.length;row++){
test = predVal[row];
if(predVal[row] == ""){
continue;
}else if(typeof test === 'string'){
continue;
}else{
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++;
}
}
}
};
您看到方括号的原因是 getValues() returns 一个数组数组,因此您看到的是一个包含单个值的数组。
test = predVal[row][0];
将为您获取 "row" 中第一个单元格的值。