我正在尝试使用Google Apps脚本在两个Google电子表格之间移动数据。
名为Ex_ID的电子表格每个员工有一个工作表和一行,每行有六个重要值,包括一个ID号和五个数据值。
名为CR_ID的电子表格为每位员工提供了不同的工作表,每张工作表都有一个ID号和五个单元格,我需要输入数据。
我正在尝试编写一个脚本,将数据值从Ex_ID移动到id值匹配的CR_ID。 (注意:由于我仍在尝试查看代码的工作方式,因此我将示例限制为五个数据值中的一个,我只对三个员工进行测试。)
function myFunction() {
var CR_ID = "1BbAmoSsS_2-nvOxv_l5gZ8ftXclD5muWs0ZAmkDUR-Y";
var ssCR = SpreadsheetApp.openById(CR_ID);
var sCR = ssCR.getSheets();
var Ex_ID = "1lkpXdWdbfe8Wkj1RGQOb-pWjEQe41hstKj2i4TxMQd8";
var ssEx = SpreadsheetApp.openById(Ex_ID);
var sEx = ssEx.getSheetByName('Sheet1');
for (var i = 2; i = 4; i++) {
//Get id value from Ex_ID
var ExCell = sEx.getRange(i, 2).getValue();
for (var j = 0; j = 2; j++) {
var sheet = sCR[j];
//Get id value from CR_ID
var val = sheet.getRange(1, 7).getValue();
if (ExCell[i] == val[j]) {
var ExWrite = sEx.getRange(i, 11).getValue();
sheet.getRange(3, 20).setValue(ExWrite);
}
}
}
}
最佳,
Mayne Dela
答案 0 :(得分:1)
我不知道您的数据是如何组织的以及您希望将它们放在工作表上的位置,但我会尝试这样的事情:
function myFunction()
{
var ess = SpreadsheetApp.openById("1BbAmoSsS_2-nvOxv_l5gZ8ftXclD5muWs0ZAmkDUR-Y");
var es = ess.getSheets();
var dss = SpreadsheetApp.openById("1lkpXdWdbfe8Wkj1RGQOb-pWjEQe41hstKj2i4TxMQd8");
var ds = dss.getSheetByName('Sheet1');
var dr = ds.getDataRange();
var dA = dr.getValues();
for(var i=1;i<dA.length;i++)//started with 1 assuming that you have a header.
{
var row=dA[i];//loop through rows of employee data I will assume data to be in this ID,DataValue1,DataValue2,DataValue3,DataValue4,DataValue5
for(var j=0;j<es.length;j++)
{
if(row[0]==es[j].getSheetName())//checking the ID value assuming it is row[0];
{
var sht=es[j];
sht.getRange('D1').setValue(row[1]);//DataValue1
sht.getRange('D2').setValue(row[2]);//DataValue2
etc...
}
}
}
}