Resaltar la celda de Google Sheet (roja) cuando el texto de dos celdas diferentes no coincide.
Básicamente, lo que estoy tratando de lograr es resaltar o establecer el fondo de la celda que tiene una ‘typo’ y no coincide con otra.
Tengo un seguimiento utilizado por mi equipo, ingresan la versión de código en la columna D. La columna C contiene el nombre del entorno, por ejemplo, QA, PROD.
Cuando se completan las actividades de prueba de QA, simplemente copian la versión del código en una fila debajo, pero a veces sucede que ingresan manualmente la versión cometiendo un error (typo), por lo tanto, el código que se implementa en prod será incorrecto y puede causar un mal funcionamiento del sistema.
La columna A será una clave primaria, lo llamaremos de esta manera (módulo).
Estoy tratando de validar el texto que ingresan en la celda, por lo que quiero utilizar la formatización condicional o un script. En mi opinión, la formatización condicional no funcionará correctamente, ya que la función es bastante avanzada, por lo que será más fácil implementar un script. ¿Es correcto el siguiente script?
“`function myColorFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheetByName("2022").getRange(1,1);
var cellRange = range.getValues();
for(i = 0; i<cellrange.length-1; i++){
if(cellrange[i][0] == "prod")
elseif(cellrange[i][0] == "qa")
{
ss.getsheetbyname("2022").getrange(i+2,6).setbackground("red");
}
}
}
<pre><code><br />en caso de utilizar la formatización condicional tendría que ser: si el entorno es igual a prod y qa, y si el módulo de qa y prod es el mismo, la versión del código debería coincidir… si no coincide, resaltar una celda de código prod con color rojo… i++){="" if(cellrange[i][0]="=" "prod")="" elseif(cellrange[i][0]="=" "qa")="" {="" ss.getsheetbyname("2022").getrange(i+2,6).setbackground("red");="" }="" }="" }="" “`=”” en=”” caso=”” de=”” utilizar=”” la=”” formatización=”” condicional=”” tendría=”” que=”” ser:=”” si=”” el=”” entorno=”” es=”” igual=”” a=”” prod=”” y=”” qa,=”” y=”” si=”” el=”” módulo=”” de=”” qa=”” y=”” prod=”” es=”” el=”” mismo,=”” la=”” versión=”” del=”” código=”” debería=”” coincidir…=”” si=”” no=”” coincide,=”” resaltar=”” una=”” celda=”” de=”” código=”” prod=”” con=”” color=””></cellrange.length-1; i++){
if(cellrange[i][0] == “prod”)
elseif(cellrange[i][0] == “qa”)
{
ss.getsheetbyname(“2022”).getrange(i+2,6).setbackground(“red”);
}
}
}
en caso de utilizar la formatización condicional tendría que ser: si el entorno es igual a prod y qa, y si el módulo de qa y prod es el mismo, la versión del código debería coincidir… si no coincide, resaltar una celda de código prod con color rojo…>
davy.ai
El script proporcionado no está completo y necesita algunas modificaciones antes de que pueda lograr el resultado deseado. Aquí están los cambios que se pueden hacer:
Aquí hay una versión modificada del script:
“`function myColorFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(“2022”);
var lastRow = sheet.getLastRow();
for (var i = 2; i <= lastRow; i++) {
var environment = sheet.getRange(i, 3).getValue();
}
}
“`
Este script debe estar adjunto a un disparador que se ejecuta cuando se realizan ediciones en la hoja. También puedes personalizar el color de fondo y ajustar el rango según tus necesidades específicas.