¿Cómo cambio el color de una celda en función de si las celdas anteriores están en blanco en Excel?

¿Cómo cambio el color de una celda en función de si las celdas anteriores están en blanco en Excel?

Tengo una hoja de cálculo con nombres en la columna A. Mantengo la asistencia colocando una "X" en cada columna posterior cuando la persona está presente (semana tras semana).

Me gustaría que Excel cambie automáticamente el rango de celdas a ROJO cuando la celda más las dos celdas anteriores están en blanco, mostrando efectivamente el color rojo cuando alguien ha estado ausente tres semanas seguidas.

¿Cómo puedo lograr esto usando Excel 2010?

Respuesta1

Como dice chuff en su comentario, puedes hacer esto con formato condicional. En realidad, crear la fórmula necesaria es moderadamente complicado, ya que Excel no facilita la referencia a la celda a formatear para consultarla directamente. Aquí hay una solución que soluciona esta dificultad, aunque estoy seguro de que está lejos de ser la más elegante posible:

=3=COUNTBLANK(INDIRECT(CHAR(COLUMN()+62)&ROW()&":"&CHAR(COLUMN()+64)&ROW()))

La idea aquí es construir una cadena que contenga el rango de interés (la celda que se va a formatear y sus dos vecinas a la izquierda) usando ROW() y COLUMN(), que INDIRECT() luego convierte en una referencia a ese rango. Es de esperar que la función de COUNTBLANK() sea obvia.

EDICIONES: Como se indica en los comentarios a continuación, hay cierta ambigüedad en su solicitud. La fórmula anterior debería funcionar si lo que quieresEmpieza a destacar con la tercera ausencia.. Es decir, en una racha de exactamente 3 ausencias, sólo se destacará la tercera. Quizás, en cambio, lo que desee es resaltar la totalidad de cualquier serie de ausencias de duración 3 o más.

Es aún menos bonito, pero mi solución ciertamente puede ampliarse para hacer eso. Arriba comprobamos si una celda es la última de una serie de tres. También podemos verificar si está en la mitad o al comienzo de dicha ejecución, luego O todo junto:

=OR(  
    3=COUNTBLANK(INDIRECT(CHAR(COLUMN()+62)&ROW()&":"&CHAR(COLUMN()+64)&ROW())),
    3=COUNTBLANK(INDIRECT(CHAR(COLUMN()+63)&ROW()&":"&CHAR(COLUMN()+65)&ROW())),
    3=COUNTBLANK(INDIRECT(CHAR(COLUMN()+64)&ROW()&":"&CHAR(COLUMN()+66)&ROW())),
   )

Respuesta2

No pude conseguir que las comprobaciones de tipo COUNTBLANK o IF(OR({Cell}="x")) funcionaran correctamente, así que hice esto:

  1. Comenzando en la tercera columna de fechas de asistencia del primer estudiante
  2. Haga clic en "Formato condicional" -> "Nueva regla..."
  3. Elija "Usar una fórmula para determinar qué celdas formatear"
  4. Ingrese (asumiendo que los asistentes comienzan en la fila 1 y las fechas comienzan en la columna B) =COUNTBLANK(B1:D1)>2en el campo "Dar formato a los valores donde esta fórmula es verdadera" caja
  5. Haga clic en "Formato..."
  6. Vaya a la pestaña "Rellenar", elija rojo, haga clic en Aceptar
  7. Haga clic en Aceptar.

Luego sólo tienes que hacer clic en la cruz en la esquina inferior derecha de la celda y copiar el formato en toda la fila. Haga clic en la cruz nuevamente y copie el formato en las filas siguientes, luego repita para esas filas (por alguna razón, no pude copiar el formato para esta condición en un rango masivo de celdas)

información relacionada