我要做的是在一个电子表格中,查看工作表“来源”,如果B列中的单元格包含今天的日期,那么复制该单元格的A: B之间的单元格,并粘贴到工作表“目的地”中的下一个空行。
对包含今天日期的所有单元格重复。
如果我在寻找文本,这是可行的,但本质上,我每天都试图在日期发生变化时自动运行它,而我无法让date函数正常工作。
基本上,在每天的转折点,它会从另一张自动工作表中复制今天的数据,并将其粘贴到另一张工作表中昨天数据的下一行。
我对这一切都很陌生,任何帮助都将不胜感激。
function copy_test() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Source"); //Source sheet
var ds = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Destination"); //Destination sheet
var testrange = ss.getRange('B:B'); //Column to check for today's date
var testvalue = (testrange.getValues()); //What value to check
var today = Utilities.formatDate(new Date(), 'GMT-0', 'dd/MM/yyyy');
var data = [];
var j = [];
//Condition to check in B:B, if true, copy the same row to data array
for (i=0;i<testvalue.length;i++) {
if (testvalue[i] == today) {
data.push.apply(data,ss.getRange(i+1,1,1,3).getValues());
//Copy matched ROW numbers to j
j.push(i);
}
}
//Copy data array to destination sheet
ds.getRange(ds.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}
我得到的错误是:
TypeError:无法从undefined中读取属性“length”。(第20行,文件“第一次html" target="_blank">测试”)
我要复制的数据类型的图片
以防将来有人遇到这个问题。我弄乱了一些原始代码,并设法让它工作:
function copyrange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Source'); //source sheet
var testrange = sheet.getRange('B:B');
var testvalue = (testrange.setNumberFormat("@").getValues());
var ds = ss.getSheetByName('Destination'); //destination sheet
var data = [];
var j =[];
var dt = new Date();
var today = Utilities.formatDate(new Date(), 'GMT-0', 'dd/MM/yyyy')
//Condition to check in B:B, if true, copy the same row to data array
for (i=0;i<testvalue.length;i++) {
if (testvalue[i] == today) {
data.push.apply(data,sheet.getRange(i+1,1,1,3).getValues());
//Copy matched ROW numbers to j
j.push(i);
}
}
//Copy data array to destination sheet
ds.getRange(ds.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}
特别是var testvalue
,我在其中添加了setNumberFormat
作为文本的日期,因为这是它对if(testvalue[I]==today)有效的唯一方法。
感谢@Cooper为我们拍摄这部电影。
试试这个:
function copy_test() {
var ss=SpreadsheetApp.getActive();
var ssh=ss.getSheetByName("Source");
var dsh=ss.getSheetByName("Destination");
var rg=ssh.getRange(1,1,ssh.getLastRow(),3);//I just took the first three columns instead
var vA=rg.getValues();
var dt=new Date();
var today=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();//midnight
for(var i=0;i<vA.length;i++) {
var d=new Date(vA[i][1]);//column B
if (new Date(d.getFullYear(),d.getMonth(),d.getDate()).valueOf() == today) {
dsh.appendRow(vA[i]);
}
}
}
我希望每天凌晨1点从外部来源将一些数据输入到谷歌的工作表中。进口产品的数量将有所不同。 然后,我希望在数据上传完成后,按价格对数据进行排序,这将是凌晨1:05左右。 我看到它是可能的运行功能为谷歌工作表在一个时间的基础上。 我需要什么样的脚本来按价格对数据进行排序,所以最便宜的项目是每天早上运行脚本后的第2行。 要在Google Sheets中手动执行此操作,我会这样做-*突出显示第2行到数据,排
试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet
我有一个谷歌电子表格,有两张叫做罗宾和露西的表格。每次我向列A添加一些数据时,我都制作/找到/破坏了一个脚本来对工作表上的数据进行排序 这个剧本很棒,但我只想把它应用在第一张纸上,罗宾。第二个工作表中的数据,Lucy,是不一样的,所以我将创建另一个脚本为不同的范围,一旦我得到了这个问题的头脑。 我想我需要使用getSheetByName(“罗宾”),但我似乎无法让它工作。提前感谢
我想将table 1的内容复制到table 2中,但它不是直接复制,因为table 2包含的列比表1多。结构类似于这样: 表 1 { 列 2 列 4 列 6 } 表2{column1 column2 column3 column4 column5 column6} 我想做的是将table1到table2中的每一行相加,并为缺少的列设置默认值。任何帮助都将不胜感激。
B页中有图表,其中有源数据。我想以这样一种方式将图表导入到主电子表格B中,当图表在表格B中更改时,它也应该在主表格A中动态更改。 经过大量的研究,我能够找到以下内容: Importrange-只导入数据,而不是图表 复制图表本身并将其粘贴到主工作表A,但当图表在工作表B中动态变化时,它不会更改。 发布图表并将URL作为图像插入-如果主表A是google电子表格,则不起作用,但适用于google文档
在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia