Adding and Subtracting Math Problems on Google Sheets
In this video, I show how to create a simple program on generating adding and subtracting math problems. It is written on Google Sheets with Google Apps Script. Script to Copy: (below this line) function getRandomInt(max) { return Math.floor(Math.random() * Math.floor(max)); } function getNumbers() { //DEFINE ALL ACTIVE SHEETS var ss = SpreadsheetApp.getActiveSpreadsheet(); //DEFINE MENU SHEET var mathSheet = ss.getSheetByName("MATH"); //CLEAR DATA mathSheet.getRange("A1:D3").clear(); //GET VALUES RANDOM 11 = 10 var value1 = getRandomInt(11); var value2 = getRandomInt(11); //GET SIGN var signValue = getRandomInt(2); if(signValue == 0) { var sign = '+' } else if (signValue == 1) { var sign = '-' } //DISPLAY PROBLEM mathSheet.getRange(1,2).setValue([value1]).setFontSize(36).setFontWeight("bold").setHorizontalAlignment("center"); mathSheet.getRange(2,2).setValue([value2]).setFontSize(36).setFontWeight("bold").setHorizontalAlignment("center"); mathSheet.getRange(2,1).setValue([sign]).setFontSize(36).setFontWeight("bold").setHorizontalAlignment("center"); //SET BORDER mathSheet.getRange("A2:B2").setBorder(false, false, true, false, false, false, "black", SpreadsheetApp.BorderStyle.SOLID_THICK); // SET FONT OF ANSWER mathSheet.getRange(3,2).setFontSize(36).setFontWeight("bold").setHorizontalAlignment("center"); var range = mathSheet.getRange('B3:B3'); SpreadsheetApp.setActiveRange(range); } function onEdit(e) { var range = e.range; var spreadSheet = e.source; var spreadSheetName = spreadSheet.getActiveSheet().getName(); var searchColumn = range.getColumn(); var searchRow = range.getRow(); var inputValue = e.value; Logger.log('Column: ' + searchColumn + ' Row: ' + searchRow + ' Value: ' + e.value + ' spreadSheetName: ' + spreadSheetName); //DEFINE ALL ACTIVE SHEETS var ss = SpreadsheetApp.getActiveSpreadsheet(); //DEFINE MENU SHEET var mathSheet = ss.getSheetByName("MATH"); if (searchColumn == 2 && searchRow == 3 && e.value != '' && spreadSheetName == 'MATH') { // DETERMINE IF ANSWER WAS CORRECT var value1 = mathSheet.getRange(1,2).getValue(); var value2 = mathSheet.getRange(2,2).getValue(); var sign = mathSheet.getRange(2,1).getValue(); if(sign == '+') { var answer = value1 + value2; } else if(sign == '-') { var answer = value1 - value2; } // ANSWER IS CORRECT if(answer == inputValue) { ss.toast('Correct', 'Answer', 3); getNumbers(); } // ANSWER IS WRONG else { ss.toast('Try Again', 'Answer', 3); mathSheet.getRange(3,2).setBackground("red"); var range = mathSheet.getRange('B3:B3'); SpreadsheetApp.setActiveRange(range); } } } function onOpen(e) { getNumbers(); }
Download
0 formatsNo download links available.