首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何看待下一步的附加值?Google应用程序脚本

如何看待下一步的附加值?Google应用程序脚本
EN

Stack Overflow用户
提问于 2021-05-27 20:06:54
回答 1查看 55关注 0票数 0

我正在尝试组合图纸1和2成为图纸3,我希望在图纸3的底部行是下一个输入值从图纸1或2。例如,如果行11被添加到图纸1,我希望这是在图纸3中的行15。请参阅所附图像。

我还有以下代码:

代码语言:javascript
运行
复制
 [![function combineSheets() {
    var sApp = SpreadsheetApp.getActiveSpreadsheet();
    var s1= sApp.getSheetByName("Sheet1");
    var s2= sApp.getSheetByName("Sheet2");
    var s3= sApp.getSheetByName("Sheet3");

  
  var s1values = s1.getRange(1,1,s1.getLastRow(),3).getValues();
  var s2values = s2.getRange(1,1,s2.getLastRow(),3).getValues();
 
  s3values =  s1values.concat(s2values);
  s3.getRange(1,1,s3values.length,3).setValues(s3values);
}][1]][1]

在此处输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2021-05-27 23:30:31

回答

使用。检查Using arrays in Google Sheets

您可以使用相同的标点符号将多个范围连接成一个连续的范围。例如,要将A1-A10中的值与D1-D10中的值组合在一起,可以使用以下公式在连续列中创建一个范围:={A1:A10; D1:D10}

公式

=query({Sheet1!A:C;Sheet2!A:C},"Select * where Col1 is not null")

更新

要添加下面的新值,您必须对范围进行排序。您可以使用sort方法轻松地完成此操作。另外,在第二张纸上,我不会取第一行,因为你会得到两次标题。

代码

代码语言:javascript
运行
复制
function combineSheets() {
  var sApp = SpreadsheetApp.getActiveSpreadsheet();
  var s1 = sApp.getSheetByName("Sheet1");
  var s2 = sApp.getSheetByName("Sheet2");
  var s3 = sApp.getSheetByName("Sheet3");

  var s1values = s1.getRange(1, 1, s1.getLastRow(), 3).getValues();
  var s2values = s2.getRange(1, 1, s2.getLastRow(), 3).getValues();

  s3values = s1values.concat(s2values);
  s3.getRange(1, 1, s3values.length, 3).setValues(s3values).sort(1)
}

注意事项

最后,您必须记住使用的方法是什么。在这种情况下,作为一个没有触发器的函数,它只在按下run时执行。您可以将按钮添加到负责调用函数的任何页面(或所有三个页面)。或者,您也可以使用触发器来检测任何单元格中的编辑并调用函数。做到这一点的最佳方法取决于您的场景和需求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67721778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档