繁体   English   中英

从工作表导入范围数据,然后删除公式并保留值

[英]Importrange Data from a sheet, then remove the formula and keep the values

我正在尝试获取 Google 表格以将值从一张表格导入另一张表格。 我已经想出如何制作一个绘图作为一个按钮,并触发添加像 importrange 这样的函数来收集数据。

但是,在导入数据后,我希望能够不受 importrange 公式的限制对其进行排序和编辑。 通常我会通过仅复制然后粘贴值来手动执行此操作,但我希望将该步骤作为脚本的一部分完成。

这是模拟源表模拟目标表

这是我的脚本:

function Cars() {
  fetch();
  Values1();
}

function fetch() {
 var spreadsheet = SpreadsheetApp.getActive();
 spreadsheet.getRange('A4').activate()
.setFormula('=Query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MAv0PdqaxbNpIivlKM4XHh9-SU3ASvZmV0_-eAeBJ5w/edit#gid=637934803","\' Master List\'!$B$3:$H"),"select Col4,Col2,Col7,Col5 where Col4 is not null order by Col4 asc")');

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('I4').activate()
.setFormula('=Query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MAv0PdqaxbNpIivlKM4XHh9-SU3ASvZmV0_-eAeBJ5w/edit#gid=637934803","\' Master List\'!$B$3:$H"),"select Col1 where Col4 is not null order by Col4 asc")');

}


function Values1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A4:D121').activate();
  spreadsheet.getRange('A4:D121').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}

当我运行它时,我可以获得要导入的数据,但我无法将数据仅作为值。 可能有更好的方法来做到这一点,但我无法弄清楚。

您可以尝试更改最后两行:

spreadsheet.getRange('A4:D121').setValues(spreadsheet.getRange('A4:D121').getValues());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM