Я не добавляются реестры, которые есть у равного идентификатора

Привет у меня есть рукописный шрифт google spreadsheet, что добавляет мне один sheet реестры, у которых есть идентификатор, равный докладу, я подумал, что он считал это решенным, но я вижу, что он не добавляет мне хорошо реестры но он добавляет мне реестры всего листа.

Я оставляю вам рукописный шрифт

function myFunction() { 
function Lento() { 
var h1 = SpreadsheetApp.getActive().getSheetByName('Hoja 1'); 
var h2 = SpreadsheetApp.getActive().getSheetByName('Hoja 2'); 
var rowsh1 = h1.getDataRange(); 
var valuesh1 = rowsh1.getValues(); 
var numColsh1 = rowsh1.getNumColumns(); 
var numRowsh1 = rowsh1.getNumRows(); 
var rowsh2 = h2.getDataRange(); 
var valuesh2 = rowsh2.getValues(); 
var numColsh2 = rowsh2.getNumColumns(); 
var numRowsh2 = rowsh2.getNumRows(); 
var idusuario = []; 
var identificador = []; 
//recorremos fila a fila y cogemos los datos de la hoja1 
for (var r=1; r<valuesh2.length; r++) { 
var rowh2 = valuesh2[r], 
nombre = rowh2[1], 
email = rowh2[2], 
telefono = rowh2[3], 
mensaje = rowh2[4], 
urllanding = rowh2[5], 
fechausuario = rowh2[6]; 
idusuario[r] = rowh2[0];//Guardamos los gclid del usuario en un array 

  } 
 //recorremos fila a fila y cogemos los datos de la hoja2 
 for (var r=1; r<valuesh1.length; r++) { 
 var rowh1 = valuesh1[r], 
 palabraclave = rowh1[1], 
 ciudad = rowh1[2], 
 fecha = rowh1[4], 
 pais = rowh1[5]; 
 identificador[r] = rowh1[0];//Guardamos los gclid en un array 

 } 


 for (var i=identificador.length-1;i>0;i--) 
 { 
 var encontrado = false; 
 for (var y=1;y<idusuario.length;y++) 
  { 

 if (identificador[i]== null || idusuario[y] == null) continue; 
 if (identificador[i] == idusuario[y]) 
 { 
 Logger.log("encontramos el " + i); 
 Logger.log("identificador " + identificador[i]); 
 Logger.log("idusuario " + idusuario[y]); 
 encontrado = true; 
 break; 
  } 
 } 

 if (!encontrado) { 

 Logger.log("eliminamos el " + i); 
 h1.deleteRow(i+1); 
 } 
 } 

 } 

Lento(); 
function Exportar() {

var spreadsheet1 = SpreadsheetApp.openById("1Xl4pWgPpPdzk7vLyrrdtEx4JV1wSvrhTYrp-z8OhLTY");
var spreadsheet2 = SpreadsheetApp.openById("1cpZXx6jb0vmPZP4rbjptlBHrPHSL-k02F87Ou3uez5Y");
var hoja1 = spreadsheet1.getSheetByName("Hoja 1"); //Nombre de las hoja 1
var hoja2 = spreadsheet1.getSheetByName("Hoja 2"); //Nombre de la hoja 2
var datoshoja1 = hoja1.getDataRange().getValues();
var datoshoja2 = hoja2.getDataRange().getValues();
var nombre =[];
var email =[];
var telefono =[];
var mensaje =[];
var urllanding =[];
var fechausuario =[];
var idusuario =[];
var adgroup =[] ;
var campania=[];
var palabraclave =[]; 
var fecha =[] ;
//var pais = []; 
var identificador =[] ;
var hoja1sheet2 = spreadsheet2.getSheetByName("DatosReporteUsuario");  

for(var i=0; i<datoshoja1.length; i++){ 
var rowh1 = datoshoja1[i]; 
adgroup[i] = rowh1[1];
campania[i] = rowh1[2]; 
palabraclave[i] = rowh1[3]; 
// pais[i] = rowh1[4]; 
fecha[i] = rowh1[4]; 
identificador[i] = rowh1[0];
}
for(var i=1; i<datoshoja1.length; i++){
hoja1sheet2.getRange('A'+(i+1)).setValue(fecha[i]);
// hoja1sheet2.getRange('E'+(i+1)).setValue(pais[i]);
hoja1sheet2.getRange('F'+(i+1)).setValue(campania[i]);
hoja1sheet2.getRange('G'+(i+1)).setValue(adgroup[i]);
hoja1sheet2.getRange('H'+(i+1)).setValue(palabraclave[i]);

  hoja1.clear();

 //hoja1.getRange(2, 1, nuevosvalores.length, hoja1.getLastColumn()).setValues(nuevosvalores);

}
for(var i=0; i<datoshoja2.length; i++){ 
var rowh2 = datoshoja2[i]; 
nombre[i] = rowh2[1];
email[i] = rowh2[2]; 
telefono[i] = rowh2[3]; 
mensaje[i] = rowh2[4]; 
urllanding[i] = rowh2[5]; 
fechausuario[i] = rowh2[6]; 
idusuario[i] = rowh2[0];
 }
for(var i=1; i<datoshoja2.length; i++){
hoja1sheet2.getRange('B'+(i+1)).setValue(nombre[i]);
hoja1sheet2.getRange('C'+(i+1)).setValue(email[i]);
hoja1sheet2.getRange('D'+(i+1)).setValue(telefono[i]);
hoja1sheet2.getRange('I'+(i+1)).setValue(urllanding[i]);

// hoja2.clear();
//hoja1.getRange(2, 1, nuevosvalores.length,    hoja1.getLastColumn()).setValues(nuevosvalores);

}
}
Exportar();
}
1
задан 14.04.2017, 09:53
1 ответ

Уже я нашел ее soluciГіn, проблема, которая не знала реестры, которые были в sheet, чтобы переворачивать данные.

оставил Вам фрагмент кода

 hoja1sheet2.getRange('B'+(posicionsumar+i)).setValue(nombre[i]);

Posicionsumar это число реестров, что есть в ней hoja2 для aГ±adir реестры один под другим.

 var posicionsumar=datoshoja2sheet2.length;
1
ответ дан 24.11.2019, 13:21