Google Forms --> Google Sheet

Hier horen vragen over google, irc, nieuwsgroepen, e-mail, enzovoort
Plaats reactie
Argon
Elite Poster
Elite Poster
Berichten: 1264
Lid geworden op: 21 mei 2007, 22:26
Uitgedeelde bedankjes: 20 keer
Bedankt: 49 keer

Hallo,

Ik heb in der tijd wel al even gespeeld met Google Froms resultaten over te laten brengen naar Google Sheets om wat bewerking op uit te voeren. Nu ben ik op zoek naar iets wat mij niet lijkt te lukken. Althans ik vind er niet veel over.

Ik zou een een Google Form willen aanmaken waar de gebruiker in het eerste veld zijn e-mailadres moet ingeven. De andere vragen zijn gewoon wat generieke vragen (tekst, getallen, ...). Bij het submitten van het formulier moeten de gegevens overgeplaatst worden naar Sheets. Tot hier lukt alles perfect !

Nu zal diezelfde gebruiker dit formulier binnen X tijd terug invullen. De gebruiker begint dus terug met het invullen van zijn e-mailadres, maar dan wil ik geen nieuwe rij in Google Sheets verkrijgen, maar zou ik willen dat de reeds bestaande rij in Sheets een update krijgt met de nieuw ingevulde waarden.

Met andere woorden, doe een search in Kolom A of het e-mailadres reeds bestaat, zoja update de waarden.
Iemand al iets soortgelijks geprobeerd, of die weet hoe dit op te lossen?

Bedankt!
Koelreuteria
Pro Member
Pro Member
Berichten: 403
Lid geworden op: 25 mei 2006, 01:30
Uitgedeelde bedankjes: 48 keer
Bedankt: 7 keer

Argon schreef: Ik zou een een Google Form willen aanmaken waar de gebruiker in het eerste veld zijn e-mailadres moet ingeven. De andere vragen zijn gewoon wat generieke vragen (tekst, getallen, ...). Bij het submitten van het formulier moeten de gegevens overgeplaatst worden naar Sheets. Tot hier lukt alles perfect !

Nu zal diezelfde gebruiker dit formulier binnen X tijd terug invullen. De gebruiker begint dus terug met het invullen van zijn e-mailadres, maar dan wil ik geen nieuwe rij in Google Sheets verkrijgen, maar zou ik willen dat de reeds bestaande rij in Sheets een update krijgt met de nieuw ingevulde waarden.

Met andere woorden, doe een search in Kolom A of het e-mailadres reeds bestaat, zoja update de waarden.
Iemand al iets soortgelijks geprobeerd, of die weet hoe dit op te lossen?
Is dit een mogelijkheid? (Heb het niet getest)
In het formulier, ga naar "Instellingen" => "Algemeen" en vink bij "Respondenten mogen:" => "Bewerken na verzending" aan.
Argon
Elite Poster
Elite Poster
Berichten: 1264
Lid geworden op: 21 mei 2007, 22:26
Uitgedeelde bedankjes: 20 keer
Bedankt: 49 keer

Hallo,

Even een update. Ik heb de tip van Koelreuteria ook getest, maar dit is nog niet echt wat ik wilde. Nu ben ik wel al reeds wat verder.

Ik deed wat copy/paste werk en kwam tot de volgende code die ik in Google Sheets Script Editor plakte:

Code: Selecteer alles

function removeDuplicates() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = new Array();
  for(i in data){
    var row = data[i];
    var duplicate = false;
    for(j in newData){
    if(row[1] == newData[j][1]){
    duplicate = true;
      }
    }
    if(!duplicate){
      newData.push(row);
    }
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length)
      .setValues(newData);
}
De code kijkt of er in kolom B duplicaten staan (dus 2 maal of meer hetzelfde woord). Indien dit het geval is delete Sheets automatisch alle volledige rijen zodat er enkel maar 1 lijn blijft staan met die waarde in kolom B. Echter delete het script de verkeerde lijnen, ik had graag gezien dat het script de laatste ingevoerde lijn liet staan, en alle andere verwijderde.

Dit is een screenshot van het Sheets bestand:
sheets.JPG
Bij het uitvoeren van het script zie die dus dat in kolom B de waarde "secretstring" 4 keer voorkomt. Op heden delete deze nu de rijen 6, 7 en 8 en laat rij 2 staan.
Echter als je kijkt naar de Timestamp zou ik de recentste lijn willen behouden, namelijk rij 8. Iemand enig idee hoe ik dit nog in bovenstaand script kan mixen?

Alvast bedankt!
Argon
Elite Poster
Elite Poster
Berichten: 1264
Lid geworden op: 21 mei 2007, 22:26
Uitgedeelde bedankjes: 20 keer
Bedankt: 49 keer

Even een update: ik heb het ondertussen in orde gekregen. Blijkt dus dat een JS Script niet zozeer noodzakelijk is om het Sheets bestand up to date te houden wanneer een een nieuwe entry binnenkomt via Google Forms.

Via het Google forum kreeg ik te horen dat wanneer je werkt met Formules in het Sheets bestand dit ook werkt. Dus dit probleem is verholpen.
Plaats reactie

Terug naar “Algemeen Internet-Gebruik”