Google apps script 如何使用基于短语的Google Apps脚本有条件地复制概览中各个位置的数据?

Google apps script 如何使用基于短语的Google Apps脚本有条件地复制概览中各个位置的数据?,google-apps-script,database-design,Google Apps Script,Database Design,我试图找出如何在同一个电子表格中将两组列从一张工作表复制到另一张工作表。只有当它与某个短语或单词匹配时,才会发生这种情况 我的资料表包含了对人们的广泛概述,这些人分为不同的群体,比如游泳和足球。通过这些小组,人们被进一步划分为项目,例如青少年和10岁以下的人 我想复制的内容是:概述表中A4:B中的名称(最好是用空格连接和分隔),他们正在进行的项目(K列和N列),以及他们在游泳组中的角色(L列和O列) 在我的目标表中,我正在寻找一张桌子。第一栏中游泳志愿者的姓名,第二栏中的项目(如青少年和10岁以

我试图找出如何在同一个电子表格中将两组列从一张工作表复制到另一张工作表。只有当它与某个短语或单词匹配时,才会发生这种情况

我的资料表包含了对人们的广泛概述,这些人分为不同的群体,比如游泳和足球。通过这些小组,人们被进一步划分为项目,例如青少年和10岁以下的人

我想复制的内容是:概述表中A4:B中的名称(最好是用空格连接和分隔),他们正在进行的项目(K列和N列),以及他们在游泳组中的角色(L列和O列)

在我的目标表中,我正在寻找一张桌子。第一栏中游泳志愿者的姓名,第二栏中的项目(如青少年和10岁以下)以及最后一栏中的角色(财务主管、橘子片供应商)

下面是我一直在编写的脚本。它不起作用,我想是因为&&在奇怪的地方

function swimmingVolunteers() {
  var targetSheet = SpreadsheetApp.getSheetByName("Swimming");
  var targetLastRow = targetSheet.getLastRow();
  var targetSwimming = targetSheet.getRange(2, 4, targetLastRow - 3, 2).getValues();

  // source of data
  var sourceSheet = SpreadsheetApp.getSheetByName("Overview"); 
  var sourceLastRow = sourceSheet.getLastRow();
  // groups are in range equivalent to J4:J and M4:M
  var sourceGroupCheck = sourceSheet.getRange(4, 10, sourceLastRow - 1, 1 && 4, 13 sourceLastRow - 1, 1).getValues();
  // reference information range to be copied: A4:B (preferably concatenated and separated by a space), K4:L and N4:O
  var sourceRangeGroupInfo = sourceSheet.getRange(4, 1, sourceLastRow - 1, 2 && 4, 11, sourceLastRow - 1, 2 && 4, 14, sourceLastRow - 1, 2).getValues();
 
  var output = [];
  targetGroupCheck.forEach(function (targetGroup) {
    // search sourceGroupCheck for "swimming" 
    var index = searchForArray(sourceGroupCheck, "swimming");
    // if "swimming" is in sourceRangeGroupInfo, save the data on that row for later
    if (index > -1)
      output.push(sourceRangeGroupInfo[index]);
  });
  // if it was found, copy data to target document in column
  if (output.length > 0) {
    targetSheet.getRange(2, 3, output.length, output[0].length).setValues(output);
    // with source A4:B in targetSheet column C (preferably concatenated and separated by a space),
    // source K and N in targetSheet column D, and
    // source L and O in targetSheet column E
  }
}

您将如何进行此操作?

如果您提供一个示例电子表格,我们将更容易测试您的代码。很难确定屏幕截图中的
(第K列和第N列)
(第L列和第O列)
是哪个。显然,您不了解Sheet.getRange()方法a的全部要点是为了重现问题。因此,不能有任何未定义的变量或函数。至少我看到您丢失的
搜索阵列(sourceGroupCheck,“游泳”)
。请做你的家庭作业。