Visão geral : Um arquivo do Planilhas Google é vinculado a 3 Formulários Google. Após o envio de um formulário, as respostas são adicionadas às guias coincidentes da planilha Fictícia: Respostas do Formulário 1 Respostas do Formulário 2 Respostas do Formulário 4
Após cada envio de formulário, os endereços de e-mail são rastreados (coluna B), além de outras respostas às perguntas do formulário.
Objetivo : Meu objetivo é identificar se o endereço de e-mail de um respondente é único em todas as 3 guias de Respostas do Formulário.
Por exemplo, o resultado preferido exibiria apenas um endereço de e-mail se ele estivesse listado em várias guias da Planilha Fictícia.
Os endereços de e-mail estão sendo rastreados na coluna B da Planilha Fictícia. Após essa validação ocorrer, funções subsequentes serão executadas.
Problema atual : A lógica atual está identificando os endereços de e-mail exclusivos por guia de planilha, mas não um resultado cumulativo (ou seja, para todas as guias combinadas). O resultado preferencial exibiria apenas um endereço de e-mail se ele estivesse listado em várias guias de Planilha Fictícia.
Mais orientações seriam muito apreciadas.
function findUnique(){
var col = 1 ; // column B (Email Address)
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
// Array listing sheets to exclude from execution
var exclude = ["Reference","Index"];
for (var s in allsheets){
var source_sheet = allsheets[s];
// Stop iteration execution; exclude Reference and Index tabs.
if(exclude.indexOf(source_sheet.getName()) != -1) continue;
var data=source_sheet.getDataRange().getValues();// get all data
//Logger.log(data);
var newdata = new Array();
for(nn in data){
var duplicate = false;
for(j in newdata){
if(data[nn][col] == newdata[j][0]){
duplicate = true;
}
}
if(!duplicate){
newdata.push([data[nn][col]]);
}
}
Logger.log(newdata);
newdata.sort(function(x,y){
var xp = Number(x[0]);// ensure you get numbers
var yp = Number(y[0]);
return xp == yp ? 0 : xp < yp ? -1 : 1;// sort on numeric ascending
});
//Logger.log(newdata); // Uniques?
}
}