Google apps script 在列中查找值

Google apps script 在列中查找值,google-apps-script,Google Apps Script,我有以下方法可以很好地查找标题值: var lastCN = formResponsesSht.getLastColumn(); var data = formResponsesSht.getRange(1,1,1,lastCN).getValues();//Get 2D array of all values in row one var data = data[0];//Get the first and only inner array var statusCN = data.indexO

我有以下方法可以很好地查找标题值:

var lastCN = formResponsesSht.getLastColumn();
var data = formResponsesSht.getRange(1,1,1,lastCN).getValues();//Get 2D array of all values in row one
var data = data[0];//Get the first and only inner array
var statusCN = data.indexOf('Status') + 1;  
现在我想在一个特定的列上找到一个值。在这种情况下,B

var lastRN = formResponsesSht.getLastRow();
var data = formResponsesSht.getRange(1,2,lastRN,1).getValues();//Get 2D array of all values in row one
var data = data[0];//Get the first and only inner array
var statusCN = data.indexOf('Status') + 1;  

为什么这不起作用?如果您的工作表如下所示,是否可以使用相同的
索引策略

然后是

var data = formResponsesSht.getRange(1,2,lastRN,1).getValues();
是:
[[a]、[b]、[c]、[d]、[e]、[f]、[g]、[h]、[i]

获取您:
[a]
,即该列中的第一个单元格

.getValues()
以数组的形式获取数据,其中“第一个和内部数组”是该行中所有值的数组


编辑:要在数据列中查找“状态”索引,请尝试:

  for (var d = 0; d < data.length; d++) {
    if (data[d].indexOf('Status') > -1) {
      var statusCN = d + 1;  
      break;
    }
  }
  Logger.log(statusCN);
for(var d=0;d-1){
var statusCN=d+1;
打破
}
}
Logger.log(statusCN);

因为数据在工作之前是在一行中的,因为所有的值都在一个数组中,对吗?像这样?:[[a,b,c,d,e,f,g,h,i],]有正确的方法吗?对不起,我第一次没回答这个问题。:-)现在已经添加了代码段。希望这有帮助,明白了。一个for循环。谢谢你的快速回复。我可能正在搜索不止一个值,但我想我可以自己找到这个值。您也可以尝试使用。可能更有效。
  for (var d = 0; d < data.length; d++) {
    if (data[d].indexOf('Status') > -1) {
      var statusCN = d + 1;  
      break;
    }
  }
  Logger.log(statusCN);