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

264
Vistas
Cómo repasar 2 columnas y establecer el color de una celda bajo una condición

Estoy tratando de revisar 2 columnas y establecer el color de ellas en rojo si no son iguales a la cadena específica, pero no funciona conmigo.

Aquí está mi código.

 function setCellColors() { //Get the sheet you want to work with. const thisSheet = SpreadsheetApp.openByUrl(THIS).getSheetByName('Project'); var range = thisSheet.getRange("V3:W").getValues(); var newData = range; for (var i in newData) { if(newData!== "There is no NCR" && newData !=="N/A" && newData!=="There is no Reason Codes"){ newData.setBackground("red"); } } }

Sigo recibiendo este error "Error de tipo: newData.setBackground no es una función", lo cual creo porque newData es una matriz, pero ¿cómo lo cambiaría a cadena en ese caso, y el resto del código es correcto?

Si necesita más información por favor hágamelo saber

Gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Establecer fondos seleccionados en rojo

 function setCellColors() { const ss = SpreadsheetApp.getActive(); const sh = ss.getActiveSheet(Project); const tA = ["There is no NCR", "N/A", "There is no Reason Codes"]; const vs = sh.getRange(3, 22, sh.getLastRow() - 2, 1).getValues(); const newData = vs; vs.forEach((r, i) => { if (!~tA.indexOf(r[0])) { sh.getRange(i + 3, 22).setBackground("red"); } }); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

No está muy claro cuál de las columnas debe o no contener uno de los textos. Supongo que es la columna 'V'. En este caso puedes probar este código:

 function setCellColors() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var texts = ['There is no NCR', 'N/A', 'There is no Reason Codes']; var range = sheet.getRange('V3:W'); var values = range.getValues(); var backgrounds = range.getBackgrounds(); for (var row in values) { if (texts.includes(values[row][0])) { backgrounds[row][0] = 'red'; backgrounds[row][1] = 'red'; } } range.setBackgrounds(backgrounds); }

El resultado:

ingrese la descripción de la imagen aquí

Si desea verificar ambas columnas, puede cambiar esta línea:

 if (texts.includes(values[row][0])) {

con este:

 if (texts.includes(values[row][0]) || texts.includes(values[row][1])) {
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