Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

407
Views
¿Cómo puedo crear una función en Apps Script que tome una cadena como parámetro y luego devuelva información específica de esa cadena?

Aquí está el problema al que me enfrento. Actualmente estoy haciendo un rastreador de gastos en Hojas de cálculo de Google:

Aquí hay una vista previa

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.

Versión alternativa

¡Gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

solución #1

No necesita una función personalizada, intente

 =sumif($A$2:$A,D2,$B$2:$B)/sum($B$2:$B)

ingrese la descripción de la imagen aquí

solución #2

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 }

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!