【发布时间】:2022-11-04 22:46:34
【问题描述】:
我设法将 2 个不同的工作簿放入 1 个电子表格中,将工作表名称更改为“今天”和“以前”,并在空白工作表中添加“启动器”和“转移”。我现在需要找到出现在“今天”而不是“以前”中的任何员工 ID,并将该行复制到工作表“starter”。
然后,我需要比较“今天”和“以前”中的员工 ID 列,如果其他列(例如位置)有任何差异,则将该行复制到“转移”表。
对于比较位,我确实从下面开始,但不知道如何遍历另一张表。 在 VBA 术语中,我会记下每个单元格并遍历下一张表,直到匹配员工 ID,然后比较其他列,如果有差异 - 用行数据填充“转移”表。
谷歌应用程序脚本的新手 - 尝试学习它并将我的 VBA 知识“转换”为此,但运气不佳!
任何帮助将非常感激!
var sh = SpreadsheetApp.getActive().getSheetByName('Today');
sh.activate();
var rg=sh.getRange(3,2,sh.getLastRow()-1,sh.getLastColumn());
var vA=rg.getValues();
vA.forEach(function(r,i){
if(r[1]) {
var employeeID=r[1];
var persontitle=r[2];
var personfirstname=r[3];
var personsurname=r[4];
var birthday=r[7];
var startdate=r[8];
var region=r[13];
var location=r[14];
var position=r[15];
var contractedhours=r[16];
var workemail=r[18];
数据有 18 列。 第一列具有唯一标识符(员工 ID) 简而言之,这就是我想要做的:
如果“今天”上的员工 ID 不在“上一个”上,请将行复制到工作表“starter”。
如果“今天”上的员工 ID 在“上一个”上并且行详细信息不同,则将行复制到“转移”。
如果“今天”上的员工 ID 在“上一个”上并且行详细信息匹配,则忽略它
【问题讨论】:
-
你好保罗,到目前为止你有什么尝试?您的代码被截断。另外,如果您遇到错误,请将其粘贴到此处 :-) 否则我们不会简单地提供您可以自己编写的代码
标签: google-apps-script google-sheets