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

260
Views
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 answers
Answer question

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 Report

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 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!