当前位置: 首页 > 知识库问答 >
问题:

如何根据列条件将工作表中的行附加到GoogleSheets中的另一个工作表

单于钊
2023-03-14

有人知道如何在Googlesheets中将一行从一张工作表转换/复制到另一张工作表吗?

下面是我想做的:所以我有一个谷歌电子表格文件。它有两个选项卡/工作表。

  • 现在,工作表1有一列名为:“总计”

我知道我必须使用appendRow()函数。但这需要硬编码的值。类似这样的东西:床单。appendRow({“a”,“b”}),但我试图追加的行是由用户输入的。

然后把整行都复制过来。到目前为止,我能够得到第一列有空列的行,但是我不知道如何追加/复制它。

我将非常感谢你在这方面的意见。因为我还没有找到任何与我需要的东西相关的资源。

这是我到目前为止的代码。

 function insertRecord() {
 var sss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1];
 var values = sss.getDataRange().getValues();
 var getRangeRow2 = sss.getDataRange().getRow()[5];
 var getRangeCol2 = sss.getDataRange().getColumn()[1];
 var placeHolder = sss.insertRowsBefore(5, 1);

 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

 var values = ss.getDataRange().getValues();
 var n = 4;
 var c = 8;
 var getRangeRow = ss.getDataRange().getRow()[n];
 var getRangeCol = ss.getDataRange().getColumn()[c];


 for(n=4;n<values.length;n++){  // Loops through all values in column 8
 var column = values[n][c];   // n represents my rows in the getSheets()[0] // number 8 is the column 8.
 var row = values[n]; 
 var col = values[c];
 if(column == null)
 {  // Currently this will get me the rows where the column I has no value in it. This is what its supposed to do. << I am happy with this.
   if(placeHolder)
   {
     placeHolder = ss.getDataRange(getRangeRow, getRangeCol).copyTo(getRangeRow2, getRangeCol2);
   // NOTE: SORRY NOT YELLING. BUT THIS PART IS THE PROBLEM I AM HAVING. IT 
   // WON'T WORK. IT WONT COPY THE ROW TO THE OTHER SHEET.
   }
Logger.log(row, col);
  }
}
}

共有1个答案

穆城
2023-03-14

追加行不需要硬编码值,您可以从Sheet1中获取这些值。我将继续从Sheet1中获取所有行,并复制Sheet2中第8列为空的行。以下是一个工作片段:

function insertRecord() {
   var sheet_2 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1];

   var sheet_1 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

   var rows = sheet_1.getDataRange().getValues(); // Gets the rows with data

   rows
   .filter(row => row[8] == '') // Gets the rows that have the 8th col empty
   .map(row_w_empty8col => sheet_2.appendRow(row_w_empty8col)); // Appends the rows to the second sheet

}

. appendRow(行内容)

 类似资料:
  • 所以我在谷歌电子表格文档中有两张表格。 表1有一列包含以下数据: 然后SHEET 2有2列,数据如下: 我需要在“表单提交”上运行一个脚本,该脚本执行以下操作: 打开表1(其中记录了ID) 将其与表2的第1列的值按顺序进行比较 当找到匹配时,将电子邮件地址提取到变量var中 有人能帮我吗?这两张表都在同一个谷歌文档中。 非常感谢。 沙希

  • 问题内容: 我有一个带有源文件路径的字符串和另一个带有destfile路径的字符串,它们都指向Excel工作簿。 我想获取源文件的第一张纸并将其作为新选项卡复制到destfile(与destfile中的位置无关),然后保存它。 在or或or中找不到简单的方法。我想念什么吗? 问题答案: 解决方案1 使用该软件包的仅Python解决方案。仅数据值将被复制。 解决方案2 使用该程序包将复制操作委派给E

  • 我有一个主谷歌表,有五列,每天自动更新。 同一文档在主表中有三种类型事件的对应表:ABC、DEF和GHI。这些图纸中包含现有值。 我想谷歌应用程序脚本只追加唯一的和新的价值观,从Value1到相应的事件表编辑的主表。例子: 表ABC 工作表DEF 床单GHI 它实际上并不取决于日期,而是查看相应表格中已经存在的内容。 我是谷歌应用脚本的完全初学者。我研究了其他解决方案,我所做的最大努力是找到如何从

  • 对所有人,谢谢你提前的时间。 我们已经有了工作代码,可以在Excel中用vb将数据从一个wrksht移动到另一个wrksht。 如有任何帮助,我们将不胜感激。 2/22/19 以下是我的回应。 在第二个工作簿上,在第一列上进行搜索时,工作表称为orderlog 谢谢

  • 我面临的情况是,我必须将条件格式从一个Excel工作表复制到另一个。 这就是我尝试过的; 源和目标都是XSSF。 但是当我试图打开目标工作表时,excel显示一条消息,提示工作表中有一些错误,我要恢复它吗?如果单击“是”,工作表将打开,但条件格式不能正确应用。 修复 excel 后显示一条消息,例如; Excel能够通过修复或删除不可读的内容来打开文件 在这种情况下,我的条件格式就像如果单元格区域

  • 我有一本有工作表的工作簿。为了简单起见,假设我的工作簿有一个工作表。在我的工作表中,它被称为“SHEET1”,在单元格A1到A4中有数据。 我希望我的VBA代码做的是: 将工作簿“A”的第1行(或特别是单元格A1至A4)复制到范围变量“我的范围”中 创建一个新的工作簿,我们将此工作簿称为'B' 为工作簿'B'的默认“sheet1”指定一个新名称为“测试名称” 打开工作簿'B'(尽管我意识到VBA代