Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

415
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda