【问题标题】:copy values from one sheet to another when a specific condition is true当特定条件为真时,将值从一张纸复制到另一张纸
【发布时间】:2016-12-20 16:57:06
【问题描述】:

我是绝对的初学者,面临以下问题。

我有一个包含 2 张工作表的电子表格,“tab1”和“tab2”

现在我想根据 A9 中的条件将范围或单元格中的 a 值从“tab1”复制到“tab2”

我已经尝试了以下脚本,但无论 A9 中的条件是否不满足,它都会不断复制值。

我在这里做错了什么?

function copyIf() {
    source = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("tab1");
    var destination = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("tab2");

    var condition   = source.getRange('A9').getValue();

    if (condition == "mon") {
        source.getRange('A2').copyTo(destination.getRange('D11'));
      source.getRange('A5').copyTo(destination.getRange('D5'));
    }
}

大家好,感谢您的快速帮助,我很抱歉不准确,我创建了一个新的示例表并相应地修改了您提供给我的代码。基本上它工作正常,但我仍然有一个小问题。

``函数copyIf() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheetByName("tab1");
var destination = ss.getSheetByName("tab2");
var condition = source.getRange('A9').getValue();
if (condition == "mon") { 
source.getRange('B14').copyTo(destination.getRange('B5'));
source.getRange('B15').copyTo(destination.getRange('C5'));

 } }

源范围 B14 和 B15 包含从 E14:F14、E15:F15 求和的公式

目标是将 B14 和 B15 中的值复制到第二张表( tab2, B5 和 C5 ),只要满足条件( Tab1, A9=mon ),否则不应更改任何内容

除了目标(tab2、B5 和 C5)反映公式而不是值之外,这一切正常

我确定这只是一个小问题,但无法解决

Hier 是测试表的链接:

https://docs.google.com/spreadsheets/d/12X4CPa6qbb2nRPqPthI0F0_fszaga4jTIQ6ouUjZ6Yk/edit?usp=sharing

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    首先,我认为你应该在这个问题中添加 google-app-script 标签。

    我复制了您的代码,按照您的描述设置了一个工作表,将var 添加到源变量声明中,它按您所说的那样工作。 “清理”的代码是:

    function copyIf() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var source = ss.getSheetByName("tab1"); 
      var destination = ss.getSheetByName("tab2");
      var condition = source.getRange('A9').getValue();
      if (condition == "mon") {  
        source.getRange('A2').copyTo(destination.getRange('D11'));
        source.getRange('A5').copyTo(destination.getRange('D5'));
      } 
    }
    

    我还创建了一个名为 ss 的新变量,以便将您的 API 调用减少 1(这里不是很重要,但很好的做法)。

    如果这不能解决您的问题,请编辑您的原始帖子以包含更多信息,并可能提供指向虚拟电子表格的链接。

    我只会通过评论提出这个建议,但不能评论少于 50 名声望...

    【讨论】:

    • 回答已针对 OPs 问题中的建议编辑进行了编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多