问题描述
我有一个谷歌工作表,其中包含两个名为“ParSheet”和“机会”的工作表。机会表包含我所有潜在客户的联系信息。 ParSheet 是一个估算表,我可以在其中对这些潜在客户的估算进行计算。
在 ParSheet 上,我有一个从机会姓氏列中提取的下拉列表。在 ParSheet 中,我希望能够从下拉列表中选择一个特定的姓氏,然后运行我的脚本,该脚本将复制单元格 H48 中的总估计成本并将其复制到机会表中的 U 列和相应的行ParSheet 中选择的相同姓氏。机会表中的姓氏位于 D 列中,ParSheet 上的姓氏下拉列表位于单元格 H51 中
目前我将此作为我的代码,但仅适用于一个名称和一个特定单元格。我需要它适用于 D 列中所有可能的姓氏,并将数据复制到相应匹配单元格值的 U 列。
function EstimatedPar() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var sourcerange = s.getRange('H48').getValues();
var sourcerange_transposed = Object.keys(sourcerange[0]).map(function (c) { return sourcerange.map(function (r) { return r[c]; }); });
var dynamic_cell = s.getRange('H51').getValue();
var target_s = ss.getSheetByName('Opportunities');
var target_r = s.getRange('D48').getValues();
var match = target_s.getRange('D48').getValue();
if(dynamic_cell == match){
var targetrange = target_s.getRange('U48');
}
targetrange.setValues(sourcerange_transposed);
}
我一直在玩这个脚本,试图通过下面的代码使其工作,但收到错误:TypeError: 无法读取未定义的属性“setValues”
function EstimatedPar() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var sourcerange = s.getRange('H48').getValues();
var sourcerange_transposed = Object.keys(sourcerange[0]).map(function (c) { return sourcerange.map(function (r) { return r[c]; }); });
var dynamic_cell = s.getRange('H51').getValue();
var target_s = ss.getSheetByName('Opportunities');
var target_r = s.getRange('D2:D').getValues();
var match = target_s.getRange('D2:D').getValue();
if(dynamic_cell == match){
var targetrange = target_s.getRange('U2:U');
}
targetrange.setValues(sourcerange_transposed);
}
我不熟悉 Google 表格中的脚本编写,因此非常感谢任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)