Usando la función GETBACKGROUNDCOLOR para escribir en una celda. Sin embargo, es lenta.
Estoy usando estas funciones para escribir valores en la celda.
Por ejemplo, si la celda tiene un color específico, entonces escribo el valor en la celda y esta función es lenta. ¿Hay alguna función rápida para escribir valores en la celda si tiene un color específico?
Hay otro problema que es que estos cambios de formato se realizan según las reglas de formato condicional, pero cuando cambia, la fórmula no cambia el valor en consecuencia. Debería ser dinámico, si cambia el color de la celda, la fórmula debe observarlo.
He intentado con la siguiente función pero es lenta.
=SI($B2<>"",SI(GETBACKGROUNDCOLOR(celda("address", Datos!P3)) = "#f4cccc", "FALTANTE",SI(Datos!P3="P","Pendiente","")), "")
Enlace de hoja de cálculo: Sheet Link
function GETBACKGROUNDCOLOR(celda){
return SpreadsheetApp.getActiveSheet().getRange(celda).getBackground();
}
davy.ai
Se recomienda utilizar la función de actualización por lotes
range.setValues()
para escribir los valores en las celdas de forma más rápida. La función puede tomar una matriz de valores como entrada y escribirlos en el rango de celdas especificado.Para hacer la fórmula dinámica, puedes utilizar el desencadenador
onEdit()
. Esta función puede detectar los cambios en la celda y ejecutar tu fórmula en consecuencia.Aquí tienes un ejemplo de código:
Este código se ejecutará cada vez que se edite una celda en la hoja y actualizará los valores en la columna C en consecuencia.