首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >切片工作表列并以唯一顺序粘贴吗?

切片工作表列并以唯一顺序粘贴吗?
EN

Stack Overflow用户
提问于 2018-08-07 02:21:51
回答 1查看 76关注 0票数 0

我有一个脚本,它可以按预期执行,但是当前的切片方法粘贴的范围不正确。

当前,该脚本复制第1-12列(A:l)并粘贴第1-5列(A:E),跳过6(F),并按原样粘贴第7-12列(G:l)。

我希望有脚本粘贴列1-5(A:E),跳过6(F),粘贴列7(G),跳过列8(H),并粘贴列9(I)的数据从列9(I),如果“缺席”或从列11的数据,如果“迟到”。

代码语言:javascript
运行
复制
function Copy() {
    var sss = SpreadsheetApp.openById("sheet id");
    var ss = sss.getSheetByName("Sheet 1"); 
    var lastrow = ss.getLastRow();
    var data = ss.getRange(lastrow, 1, 1, 12).getValues();
    var tss = SpreadsheetApp.openById("sheet id"); 
    var ts = tss.getSheetByName("Sheet 2"); tab name    
    var tslastrow = ts.getLastRow();    
    ts.getRange(tslastrow + 1, 1, 1, 5).setValues([data[0].slice(0,5)]); 
    ts.getRange(tslastrow + 1, 7, 1, 6).setValues([data[0].slice(6)])      
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-07 08:24:14

我理解你想要做什么,如下所示。

  • 源:从row.
  • Destination:中检索A、B、C、D、E、F、G、H、I、J、K和L,将A、B、C、D、E、G和(I)放到一行中。关于"I",当"K“是”
    • “或"I”是“
      • ”时,加上"I".

如果我的理解是正确的,那么这个修改如何?我认为对于你的情况有几个答案。因此,请将此视为其中之一。

修改后的脚本:

slice()检索到元素之后,使用concat()连接元素。此时,它对列"I“使用了条件。

代码语言:javascript
运行
复制
function Copy() {
  var sss = SpreadsheetApp.openById("sheet id");
  var ss = sss.getSheetByName("Sheet 1");
  var lastrow = ss.getLastRow();
  var data = ss.getRange(lastrow, 1, 1, 12).getValues();
  var tss = SpreadsheetApp.openById("sheet id");
  var ts = tss.getSheetByName("Sheet 2");
  var tslastrow = ts.getLastRow();

  // Below script was modified.
  var r = data[0].slice(0,5).concat(data[0].slice(6,7));
  if (data[0][8] == "Absence" || data[0][10] == "late Arrival") {
    r = r.concat(data[0][8]);
  }
  ts.getRange(tslastrow + 1, 1, 1, r.length).setValues([r]);
}

参考文献:

如果我误解了你想要什么,请告诉我。我想修改一下。

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

https://stackoverflow.com/questions/51713549

复制
相关文章

相似问题

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