Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const ss = SpreadsheetApp.getActiveSpreadsheet()
- const sheet1 = ss.getSheetByName("Sheet1")
- const sheet2 = ss.getSheetByName("Sheet2")
- function calcFunction() {
- //inputs
- //Flat is needed for the destructering part .getValues() returns a 2d array
- const values = sheet1.getRange("B2:B21").getValues().flat()
- const [b2, b3, b4, b5, b6 ,b7 ,b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21] = values
- var var15 = var14 + 1
- var var7Size = var7Size0 + var14
- //Calc 1
- var var16 = generateRandomInteger(1, 20);
- var var16Modified = var16 + var1;
- var var17 = cCheck(var2, var16);
- //Calc 2
- var var18 = generateRandomInteger(1, 20);
- var var18Modified = var18 + var6;
- var var191 = sCheck(var3, var18Modified, var13);
- var var19 = hCheck(var2, var191);
- var var20 = ssCheck(var19);
- // Calc 3
- var var21a = var21aFunction(var2, var16Modified, var4, var3, var18Modified);
- // Calc 4
- var aDList = generateRandomIntegerList(var7, var15, var7Size);
- var aDSum = sumRandomIntegerList(aDList);
- // Calc 5
- var newVar71 = var7 + addVar71
- var aDList1 = generateRandomIntegerList(newVar71, var15, var7Size);
- var aDSum1 = sumRandomIntegerList(aDList1);
- // Calc 6
- var addVar72 = addVar71 * 2
- var newVar72 = var7 + addVar72
- var aDList2 = generateRandomIntegerList(newVar72, var15, var7Size);
- var aDSum2 = sumRandomIntegerList(aDList2);
- // Calc 7
- var addVar73 = addVar71 * 3
- var newVar73 = var7 + addVar73
- var aDList3 = generateRandomIntegerList(newVar73, var15, var7Size);
- var aDSum3 = sumRandomIntegerList(aDList3);
- // Calc 8
- var var21a = (100 - var8) / 100
- // Calc 9
- var var22a = generateRandomInteger(1, 20);
- var var22aModified = var22a + var10;
- // Calc 10
- var aDM = aDMFunction(var9, var22aModified, var11);
- var aDMFactor = aDM / 100;
- // Calc 11
- var addADList = generateRandomIntegerList(addVar7, 1, addVar7Size);
- var addADSum = sumRandomIntegerList(addADList);
- // Calc 12
- var resAddMulti = (100 - var12) / 100;
- // Calc 13
- var adc0 = aDSum * var17
- var adcf0 = adc0 + var5
- var adcfs0 = adcf0 * var19
- var adcfr0 = adcfs0 * var21a
- var var9 = addADSum * aDMFactor
- var var9R = var9 * resAddMulti
- var tD = adcfr0 + var9R;
- var adc1 = aDSum1 * var17
- var adcf1 = adc1 + var5
- var adcfs1 = adcf1 * var19
- var adcfr1 = adcfs1 * var21a
- var tD1 = adcfr1 + var9R;
- var adc2 = aDSum2 * var17
- var adcf2 = adc2 + var5
- var adcfs2 = adcf2 * var19
- var adcfr2 = adcfs2 * var21a
- var adcfr2 = adcf2 * var21a
- var tD2 = adcfr2 + var9R;
- var adc3 = aDSum3 * var17
- var adcf3 = adc3 + var5
- var adcfs3 = adcf3 * var19
- var adcfr3 = adcfs3 * var21a
- var adcfr3 = adcf3 * var21a
- var tD3 = adcfr3 + var9R;
- // I don't know how you get the active range? Is this in sheet2? Of so:
- const result = [[var20, var16Modified, var18Modified]] //and the rest
- //get dynamic the lenght of the colums from the 2d result array.
- sheet2.getRange(sheet2.getLastRow() + 1, 1, 1, result[0].length).setValues(result)
- }
- function generateRandomInteger(min, max) {
- // Generate a random decimal number between 0 (inclusive) and 1 (exclusive).
- var randomNumber = Math.random();
- // Scale the random number to fit the desired range.
- randomNumber *= (max - min + 1);
- // Round the random number down to the nearest integer.
- randomNumber = Math.floor(randomNumber);
- // Add the min value to adjust the range to the desired range.
- randomNumber += min;
- // Return the random integer.
- return randomNumber;
- }
- function generateRandomIntegerList(count, min, max) {
- // Create an empty list to store the random integers.
- var randomIntegerList = [];
- // Generate a random integer for each item in the list.
- for (var i = 0; i < count; i++) {
- randomIntegerList.push(generateRandomInteger(min, max));
- }
- // Return the list of random integers.
- return randomIntegerList;
- }
- function sumRandomIntegerList(randomIntegerList) {
- // Initialize the sum variable.
- var sum = 0;
- // Iterate over the list of random integers and add them to the sum.
- for (var i = 0; i < randomIntegerList.length; i++) {
- sum += randomIntegerList[i];
- }
- // Return the sum of the random integers.
- return sum;
- }
- function cCheck(variable) {
- if (variable === 20) return 2
- return 1
- }
- function var21aFunction(cellValue, variable1, variable2, variable3, variable4) {
- if (cellValue === "Yes") {
- if (variable1 >= variable2) {
- return "Yes";
- } else {
- return "No";
- }
- } else {
- if (variable3 >= variable4) {
- return "Yes";
- } else {
- return "No";
- }
- }
- }
- function aDMFunction(variable1, variable2, variable3) {
- if (variable1 > variable2) {
- return 100;
- } else {
- return variable3;
- }
- }
- function activeA2() {
- // Get the Sheet2 spreadsheet.
- var listStart = sheet1.getRange("B20").getValue();
- sheet2.getRange("A1").offset(listStart, 0).activate();
- SpreadsheetApp.getActiveSpreadsheet().getActiveRange().offset(listStart, 0);
- }
- function startFunction() {
- activeA2();
- repeatAttack();
- }
- function repeatAttack() {
- var listSize = sheet1.getRange("B19").getValue();
- for (var i = 0; i < listSize; i++) {
- calcFunction();
- }
- }
- function clear() {
- // Startrow 2 | Startcolumn 1 | NumberOfRows lastrow - 1 | NumberOfColumns 22
- var range = sheet2.getRange(2,1,sheet.getLastRow() - 1, 22)
- range.clearContent();
- }
- function sCheck(dc, var20, factor) {
- if (dc > var20) {
- return 1;
- } else {
- return factor / 100;
- }
- }
- function ssCheck(factor) {
- if (factor === 1) {
- return "No";
- } else {
- return "Yes";
- }
- }
- function hCheck(var2, factor) {
- if (var2 === "Yes") {
- return 1;
- } else {
- return factor;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement