我读过谷歌脚本的两个链接:有条件地将行从一个电子表格复制到另一个电子表格,然后https://stackoverflow.com/a/4809413/1526044在尝试之后,我不能做我需要的事情。
我有一个电子表格,其中一张表上有一些数据,另一张表上有列上的关键信息,以这种方式进行比较:
KEY Value1 Value2 Value3
AAA B C D
BBB Y Z W
我需要一个函数来逐行检查我的数据电子表格,查找关键表上的列值。当找到任何值时,它会在数据电子表格的第一列(同一行)上写下键值。
示例:数据电子表格
empty text text text B
empty text text text text
empty text C text text
empty text text text Y
因此,在脚本之后,数据将如下所示:
AAA text text text B
empty text text text text
AAA text C text text
BBB text text text Y
对此提出的任何其他建议将不胜感激。
我修改了一个类似的脚本,我最近回答说,应该做你需要的。我没有测试,但你可以试试。有一些评论可以解释这个想法。。。它可能需要一些调试。
编辑:我对它进行了反复调试;-)因此,它现在似乎可以根据需要工作了——这是我的测试表的链接
function xxx(){
/* we have an array 'keysheet'
and an array datasheet , you get these with something like*/
var keysheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getDataRange().getValues();
// and
var datasheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1].getDataRange().getValues();// if other columns, change index values in the arrays : 0=A, 1=B ...
// the iteration could be like this :
for(i=0;i<datasheet.length;++i){ // don't miss any data
for(j=0;j<keysheet.length;++j){ // iterate through keysheet to find the keys
for(k=1;k<keysheet[0].length;++k){ // iterate in keysheet row to check every column except first one
var key = keysheet[j][k]
Logger.log(k+' '+key+" "+datasheet[i].toString().match(key))
if(datasheet[i].toString().match(key) == key){// check whole rows to find if key is in data
var x = datasheet[i].shift();
datasheet[i].unshift(keysheet[j][0]) // if match found, replace first element in datasheet with fisrt element in keysheet
break // if found break k loop maybe you should also break j loop ?
}
}
} //loop keysheet
} // loop datasheet
/* now you have a modified datasheet array that can directly overwrite the old datasheet
using setValues() */
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1];// assuming the datasheet sheet is sheet nr2
Logger.log(datasheet)
sh.getRange(1,1,datasheet.length,datasheet[0].length).setValues(datasheet);
}
//
我什么都试过了,但还是做不到 我试图使用setValues()将数据从一个电子表格复制到另一个电子表格,因为link对我不起作用。我还需要保持触发器的编辑。 因此,我创建了一个名为AddConvocacao的函数,并且总是在有任何更改时运行脚本。 为什么我在编辑时使用不起作用? 非常感谢!=)
问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。
我有3个电子表格来存储登录/注销表的数据。签到/退出表(表1)、时间跟踪器表(表2)和镜像表(表3)。镜像表用于比较新列表和旧列表。我想解决的问题是使代码不在表1中。我想把它写在第二张纸上,但问题是这张纸上有所有的触发器,而内容是第1张纸。但因为这是人们将要使用的,我不希望他们能够找到代码并弄乱它,所以我希望sheet2能够用代码控制一切。以下是我认为与此问题相关的代码部分。当它出现在表1上时,它
我想从工作簿中复制一个范围,并将其转置到当前工作表中。 工作簿(“库\document\book1.xlsx”)。工作表(“sheet1”)。范围(“A1:A5”)。复制
问题内容: 如何将值从一列复制到另一列?我有: 我希望有: 我应该有哪些mysql查询? 问题答案: 有关代码的简短答案是: 这是表名,周围是重音符号(又称“-”),因为这是MySQL惯例,用于转义关键字(在这种情况下为关键字)。 请注意,这是非常危险的查询,它将擦除表每行中列中的所有内容,并替换为(无论其值如何) 使用子句将查询限制为仅特定的行集更为常见:
问题内容: 这是我的代码: 您可以看到我要执行的操作,但是我不确定如何正确编写此查询。 我得到的继承人错误: 警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源 这是我的mysql_fetch_assoc: 问题答案: 尝试改变…的喜欢 …至…