Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script getRange和setValues函数返回的数据与列数不匹配_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script getRange和setValues函数返回的数据与列数不匹配

Google apps script getRange和setValues函数返回的数据与列数不匹配,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正试图用我的用户表中与“Nagur”状态(D列)匹配的用户名称(C列)填充用户表中的A1列 由于我是谷歌脚本的新手,我不知道如何修改下面的代码。我在研究中发现的每个解决方案都会返回一条错误消息 现在,下面的代码将用户表中的整行数据设置为用户表的第一行。我只想获取全名(userSheet的C列)并将其放在表单的第一列 function transferSwimmerInApp() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(

我正试图用我的用户表中与“Nagur”状态(D列)匹配的用户名称(C列)填充用户表中的A1列

由于我是谷歌脚本的新手,我不知道如何修改下面的代码。我在研究中发现的每个解决方案都会返回一条错误消息

现在,下面的代码将用户表中的整行数据设置为用户表的第一行。我只想获取全名(userSheet的C列)并将其放在表单的第一列

function transferSwimmerInApp() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var userSheet = spreadsheet.getSheetByName('Utilisateurs');
  var swimmerSheet = spreadsheet.getSheetByName('Nageurs')
  
  // Get range with data from original sheet:
  var firstRow = 1;
  var firstCol = 3;
  var numRows = userSheet.getLastRow();
  var numCols = 3;
  var data_range = userSheet.getRange(firstRow, firstCol, numRows, numCols).getValues();

  //This is the status of the swimmer
  var status = 'Nageur';
  var check = userSheet.getRange('D2:D').getValues(); //The range to if statement against

  // Iterates through all rows of data from "Utilisateurs"
  for (var i=0;i<check.length; i++) {
    var col = data_range[i]; // Current row
    
    if(check[i] == status) { 
      swimmerSheet.getRange(2, 1, 1, 1).setValues([col]) 
   }
  }
}
函数transferInApp(){
var电子表格=SpreadsheetApp.getActiveSpreadsheet();
var userSheet=spreadsheet.getSheetByName('usilizateurs');
var=spreadsheet.getSheetByName('nagers'))
//使用原始工作表中的数据获取范围:
var firstRow=1;
var-firstCol=3;
var numRows=userSheet.getLastRow();
var numCols=3;
var data_range=userSheet.getRange(firstRow、firstCol、numRows、numCols).getValues();
//这是游泳运动员的状态
var状态='Nager';
var check=userSheet.getRange('D2:D').getValues();//针对if语句的范围
//迭代“利用者”中的所有数据行

对于(var i=0;i建议

实际上,您可以使用该功能,在“Nagers”中填充A1列,其中包含与“Nagers”状态匹配的“Usilizateurs”表中的用户名(C列)

“Nagers”工作表上的查询函数:

这是“用户”表:


为什么要简单化,而你可以让它复杂化哈哈!非常感谢,没有想到,在这个脚本视图中被捕获的时间太长了。非常欢迎。你可能还想在这里查看所有Google Sheets的预定义功能,了解如何在不使用应用程序脚本的情况下操作工作表数据。
=QUERY(Utilisateurs!A:D,"SELECT C WHERE D = 'Nageur'")