如何在google工作表中提取没有括号的单元格值?

时间:2015-02-24 19:43:56

标签: google-apps-script google-sheets

我在google电子表格中编写了一个脚本,我有一个值数组,但它包含括号[],我只需要在没有括号的变量中读取值。

在下面的代码测试中得到的值为["无论什么"],我需要测试等于"无论什么"没有括号

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++;
      }
    }
  }
};

1 个答案:

答案 0 :(得分:1)

你看到方括号的原因是getValues()返回一个数组数组,所以你看到一个数组中有一个值。

test = predVal[row][0];

将获得“行”中第一个单元格的值。