我绝对是初学者,面临以下问题。
我有一张2张电子表格,“tab1”和“tab2”
现在我想将范围或单元格中的a值从“tab1”复制到“tab2”,具体取决于A9中的条件
我尝试了以下脚本,但不管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'));
}
}
大家好,感谢您的快速帮助,我很抱歉没有准确,我已经创建了一个新的示例表,并根据您提供的相应代码进行了调整。基本上它工作正常,但我仍然有一个小问题。
``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('B14').copyTo(destination.getRange('B5'));
source.getRange('B15').copyTo(destination.getRange('C5'));
} }
源范围B14和B15包含一个公式,用于总计E14:F14,E15:F15
的总和目标是只要符合条件(Tab1,A9 = mon),就将B14和B15的值复制到第二张(tab2,B5和C5),否则不应更改任何内容
除了目标(tab2,B5和C5)反映公式而不是值
之外,这个工作正常我确信这只是一个小问题,但无法弄清楚
Hier是测试表的链接:
https://docs.google.com/spreadsheets/d/12X4CPa6qbb2nRPqPthI0F0_fszaga4jTIQ6ouUjZ6Yk/edit?usp=sharing
答案 0 :(得分: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的评论评论......