Teachometer
A google sheets add-on

Frequently asked questions

The Teachometer Add-on appears to be blocked - what should I do now?

If you use Google Suite with a school email address, your school IT department need to whitelist Teachometer first. This will allow their staff to install it. Send this link to your school's IT department: https://support.google.com/a/answer/6089179
Alternately, you could install Teachometer from an individual Google account without any problems.

How do I delete a lesson?

To delete a lesson, delete the marksheet that corresponds to that lesson. The marksheet stores all of the information - student names, question content, settings etc.- so nothing else is needed.

What functions can I use in the comments column?

Name of function and parametersWhat it doesExample
if(condition,returnIfTrue,returnIfFalse)returns a different value depending on the conditionif("3>0","positive","negative") => "positive"
exponent(n)return the exponent part of the number expressed as standard formexponent(2500) => 3 (since 2500 can be written 2.5e3)
mantissa(n)return the mantissa part of the number expressed as standard formexponent(2500) => 2.5 (since 2500 can be written 2.5e3)
includes(array,element)Returns true if the array contains the elementincludes(["a","b"],"c") => False
maxlength(str,length)Trim the length of an input stringmaxlength("hello",3) => "hel"
padleftzeroes(str,length)Adds zeroes to the left side of a string to reach desired lengthpadleftzeroes("hello",7) => "00hello"
padrightzeroes(str,length)Adds zeroes to the right side of a string to reach desired lengthpadrightzeroes("hello",7) => "hello00"
getdigits(n,index)Returns the digit of number n at the given index getdigit(95784,2) => 5
dayname(year,month,date)Returns the day at the date given dayname(2020,15,3) => "Sunday"
dayofyear(year,month,date)Returns the number of days into the year at the given datedayofyear(2020,2,1) => 32
abs(n)Returns the absolute value of a numberabs(-5) => 5
mean(n1,n2,n3...)Returns the mean of the given numbersmean(1,10,4) => 5
median(n1,n2,n3...)Returns the mean of the given numbersmedian(1,10,4) => 4
lowerquartile(n1,n2,n3...)Returns the 25th percentile of the given numberslowerquartile(1,3,2,4) => 1.5
upperquartile(n1,n2,n3...)Returns the 75th percentile of the given numbersupperquartile(1,3,2,4) => 3.5
mode(n1,n2,n3...)Returns the mode of the given numbersmode(1,2,3,4,4) => 4
max(n1,n2,n3...)Returns the maximum of the given numbersmax(1,6,5,3) => 6
min(n1,n2,n3...)Returns the minimum of the given numbersmin(1,6,5,3) => 1
hcf(n1,n2,n3...)Returns the highest common factor of the given numbershcf(10,45,15) => 5
coprime(n)Returns a randomly chosen number that is less than and also coprime to ncoprime(8) => 3 (could also be 1,5,7)
roundtodp(n,p)Returns the number rounded to p decimal placesroundtodp(3.567,2) => 3.57
roundtosf(n,p)Returns the number rounded to p significant figuresroundtosf(3.567,2) => 3.6
factorial(n)Returns n factorialfactorial(3) => 6
tostandardform(n)Returns the number in standard formtostandardform(2500) => "2.5 x 103"
includesign(n)Returns the number with sign included whether positive or negativeincludesign(5) => "+5"
includeoppsign(n)Returns the number with the opposite sign included whether positive or negativeincludesign(5) => "-5"
sind(a)Returns the sine function of the angle in degreessind(270) => -1
cosd(a)Returns the cosine function of the angle in degreescosd(270) => 0
tand(a)Returns the tan function of the angle in degreestand(270) => 0
asind(n)Returns the inverse sine function of the number within the range -90 to 90 degreesasind(-1) => -90
acosd(n)Returns the inverse cosine function of the number within the range 0 to 180 degreesacosd(-1) => 180
atand(n) - one parameter specifiedReturns the inverse tan function of the number within the range -90 to 90 degreesatand(-1) => -45
atand(x,y) - two parameters specifiedReturns the bearing to the point (x,y) within the range 0 to 360 degreesatand(-1,1) => 315
choose(i,n1,n2,n3...)Returns the ith value from the numbers n1,n2,n3 etc.choose(2,"a","b","c") => "b"
countif(target,n1,n2,n3...)Returns the number of values with n1,n2,n3 that match the targetcountif("b","a","c","b","b") => 2
large(i,n1,n2,n3...)Returns the ith largest value within n1,n2 etc.large(2,10,30,20,40) => 30
normalcdf(n)Returns the normal distribution's cumulative probability function from 0 to 1normalcdf(-1) => 0.158
binomial(x,N,p)Returns the binomial probability function with x successes from a total N attempts with probability of success p binomial(3,10,0.1) => 0.05739563
binomialcdf(x,N,p)Returns the binomial probability function of x or fewer successes from a total N attempts with probability of success pbinomialcdf(3,10,0.1) => 0.9872048
sgn(n)Returns -1 if n is less than zero otherwise +1sgn(9) => 1
lcm(n1,n2,n3..)Returns the lowest common denominator of the numbers n1,n2,n3 etc.lcm(3,5,6) => 30
compareobjectsDeep comparison of arrays and other objectscompareobjects(["a"],["a"]) => true
code(functionName)parses text from the associated textbox and declares a function written in javascript with the given name and makes this function available for calls within the same questioncode("addOne") => a function with name "addOne" is parsed from the associated textbox and can then be used to evaluate further scripts
variable(variableName)parses text from the associated textbox, evaluates it and declares a variable with the given namevariable("A") => a variable with name "A" is declared and the value taken from the associated textbox for evaluation in further scripts