22 februari 2015

Toets met gesloten vragen automatisch nakijken

Ik raak niet uitgekeken op de mogelijkheden van Google Forms in combinatie met add-ons.
Zo is het echt niet moeilijk om een formulier te maken met gesloten toetsvragen die bij verzenden automatisch worden nagekeken, waarbij de invuller een mailtje krijgt met de resultaten.

Als voorbeeld heb ik een formulier gemaakt met vijf vragen, naast natuurlijk de vraag om naam en e-mail adres. De antwoorden op die vragen komen binnen in een Google Sheet.


Zo werkt het:
Begin met zelf het formulier GOED in te vullen.
Het antwoord op de 1e vraag komt in mijn voorbeeldsheet in cel D2 te staan.
Maak achter de bestaande kolommen een aantal nieuwe kolommen aan, Vraag 1, Vraag 2, enz.
Zet op de 2e regel (cel I2) bij Vraag 1 de volgende formule:
=if(D2 = "Leeuwarden"; "Goed"; "Fout")
*) Zie update hieronder
Is het antwoord in D2  Leeuwarden, komt in I2  "Goed" te staan, zo niet, dan staat er "Fout"
Bij de vraag "Hoeveel provincies heeft Nederland" wordt om een getal gevraagd.
Daarvoor gebruik je deze formule:
=if(E2 = 12; "Goed"; "Fout")
Bij de vraag "Hoeveel provincies grenzen aan België" is gebruik gemaakt van selectievakjes.
De antwoorden staan gescheiden door komma's: Limburg, Noord-Brabant, Zeeland
De formule is dan zo: =if(H2 = "Limburg, Noord-Brabant, Zeeland"; "Goed"; "Fout"
Zo kun je doorgaan voor alle vragen.
Tenslotte kun je ook nog kolommen Goed, Fout en Score toevoegen.
In de kolom Goed zet je op de 2e regel: =countif(I2:M2; "Goed")
Deze formule telt hoe vaak het woord Goed voorkomt in de kolommen I - M op regel 2.
In de kolom Fout zet je op de 2e regel: =countif(I2:M2; "Fout")
Deze formule telt hoe vaak het woord Fout voorkomt in de kolommen I - M op regel 2.
In de kolom Score kun je nog een formule zetten die het totaal berekent op basis van het aantal goed antwoorden. Omdat ik vijf vragen had was het voor mij makkelijk: =N2*2
Bij alle vragen goed krijg je een 10

Dan volgt de tweede stap, het gebruik van de add-on copyDown.
Als je die start kijkt de add-on welke formules er in regel 2 staan. Save de settings en vul het formulier nog een keer in. Je zult dan zien dat de kolommen met de formules die je hebt toegevoegd nu ook gevuld worden bij de nieuwe inzendingen!

De laatste stap is dan nog het gebruik van de add-on formMule. Die zorgt ervoor dat de invuller keurig een mailtje krijgt met de behaalde resultaten. Dat mailtje ziet er bijvoorbeeld zo uit:

Beste <<Naam>>,
Je hebt <<Goed>> vragen goed beantwoord.
Je hebt <<Fout>> vragen fout beantwoord.
Je score is: <<Score>>
Vind je dat te laag? Klik dan <a href="$formUrl">hier</a> om de toets nogmaals te doen.
Groetjes,
Willem

Als je dit allemaal zo terugleest lijkt het heel wat, maar het maken van het formulier en het configureren van de add-ons kostte mij nog geen 20 minuten. Daar staat tegenover dat het nakijken mij helemaal geen tijd meer kost!



*) Update
Het geheel wordt nog universeler en sneller in gebruik door in de cellen waar antwoorden worden vergeleken met het juiste antwoord, niet een harde waarde (="Leeuwarden") maar een verwijzing naar een cel met het juiste antwoord (=$D$2). Dit antwoord staat op regel 2 omdat je zelf als eerste de (juiste) antwoorden inzendt. Het $-teken waarborgt dat copyDown in nieuwe regels niet naar D3 ... laat kijken. Door het $ teken toe te voegen maak je gebruik van absolute cel referentie. De formule wordt dan voor de 1e vraag:
=if(D2 = $D$2; "Goed"; "Fout")
en voor de 2e vraag:
=if(E2 = $E$2; "Goed"; "Fout")
enzovoort, enzovoort...

Met dank aan Mark Schuurman voor deze toevoeging!
Meer informatie over absolute cel referenties vind je hier.

2 opmerkingen:

  1. Enig idee hoe de datum in FormMule kan aangepast worden? Ik het overzicht dat ik via mail krijg, staat de datum als mm/dd/jjjj, terwijl het in de spreadsheet op dd/mm/jjjj staat.

    BeantwoordenVerwijderen
  2. Hallo Willem,

    ik ben hiermee aan het experimenteren. Nu is het echter zo dat degene die de vragen beantwoord kan aanvinken dat hij de antwoorden naar zich zelf kan mailen. Is het ook mogelijk dit uit te zetten en diegene dus na het beantwoorden geen toegang meer heeft?

    BeantwoordenVerwijderen