Aquí está el problema al que me enfrento. Actualmente estoy haciendo un rastreador de gastos en Hojas de cálculo de Google:
Me gustaría implementar una función en la que el usuario pueda poner una cadena como parámetro en la función y luego tener el porcentaje de sus gastos de ropa con respecto a esa cadena en particular... si eso tiene sentido. Por ejemplo myFunction("Zara") arrojaría un 33,7 %, porque la suma de todos los gastos de ropa es 2433 y el cliente gastó 821 en ropa de Zara. Por tanto, (821/2433)*100 = 33,7.
Hasta ahora, creo que la función debería declararse como esta function myFunction(string, values) . Luego, inicializaría una sum variable a 0 y recorrería cada valor en la hoja. Estoy realmente confundido en cuanto a cómo abordaría esto, y me disculpo si no tenía mucho sentido, ya que soy nuevo en JavaScript y en la programación en general.
¡Gracias por adelantado!
No necesita una función personalizada, intente
=sumif($A$2:$A,D2,$B$2:$B)/sum($B$2:$B)Si quieres una función personalizada, prueba
=perCent("B")con el siguiente guion
function perCent(categ){ var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() var values = sh.getRange(2,1,sh.getLastRow()-1,2).getValues() var total = 0 var sum = 0 values.forEach(function(row){ total+=row[1] if (row[0]==categ){sum+=row[1]} }) return sum/total }