需要在谷歌表格中创建一个应用脚本,根据另一个单元格值复制货币数据

问题描述

我有一个谷歌工作表,其中包含两个名为“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 (将#修改为@)