3.2 · Formato condicional

Nivel 3 · Avanzado: fórmulas y formato condicional

3.2Formato condicional

Objetivo: escribir fórmulas de propiedad (color, fondo, visibilidad) que destaquen lo importante, con moderación y coherencia.
Tiempo estimado: 10 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

Lo esencial en 30 segundos

  • La apariencia reacciona a los datos: cada propiedad de formato tiene su botón de fórmula (x-2) — allí se escribe una fórmula que devuelve el valor de la propiedad, evaluada línea por línea.
  • La fórmula devuelve el tipo correcto: un color para un color (crRed, crYellow), un booleano para la visibilidad, un estilo para la negrita — p. ej. If {Montant} < 0 Then crRed Else crBlack.
  • Señalar, no decorar: negativos en rojo, umbrales resaltados, estados con colores — con moderación y un código de color constante (rojo = problema en todas partes).

Minicaso hilo conductor — Farès hace hablar a sus saldos

Farès, controlador de gestión en Argel, envía cada semana un estado de saldos de clientes: una tabla en blanco y negro donde los impagados se pierden entre la masa — la dirección no ve nada. Hace clic en el botón de fórmula (x-2) del color de fuente del campo Saldo y escribe If {Clients.Solde} < 0 Then crRed Else crBlack, y luego colorea el fondo en amarillo cuando el retraso supera 30 días. El lunes siguiente, los saldos negativos saltan a la vista en rojo: la reunión de recobro parte de los casos reales en lugar de releer toda la tabla.

Este mismo caso vuelve en el curso, el esquema, el guion y el desafío 48h.

1. El mecanismo: una fórmula por propiedad (botón x-2)

El formato condicional cambia la APARIENCIA de un objeto (color de fuente, color de fondo, estilo, borde, tamaño, visibilidad) según una CONDICIÓN sobre los datos. El mecanismo: para casi cada propiedad, un pequeño botón de fórmula (icono « x-2 ») abre un editor donde se escribe una fórmula que devuelve el valor de la propiedad — y Crystal Reports la aplica dinámicamente, valor por valor. Ejemplo para el color de fuente de un importe: « If {Commandes.Montant} < 0 Then crRed Else crBlack » — negativos en rojo, el resto en negro.

Punto clave: la fórmula se evalúa para CADA aparición del objeto (cada línea), por lo que la apariencia varía línea por línea según los datos. Y debe devolver un valor del TIPO de la propiedad: un COLOR para un color (crRed, crBlack, crYellow, crNoColor), un BOOLEANO para la visibilidad (Verdadero = ocultar mediante Suppress), un estilo para la negrita. Equivocarse de tipo es el fallo clásico del principiante.

2. Destacar con sentido: casos habituales y disciplina

Los casos que realmente sirven: importes negativos en rojo (color de fuente), umbral superado resaltado (fondo amarillo cuando el stock baja de 10: If {Stocks.Quantite} < 10 Then crYellow Else crNoColor), estados con colores (« En retraso » rojo, « OK » verde), importes grandes en negrita. Elegir la propiedad CORRECTA: color de FUENTE para teñir la cifra, color de FONDO para resaltar toda la celda (más visible), ESTILO negrita para subrayar sin color.

La disciplina que separa al profesional del árbol de Navidad: moderación (destacar lo IMPORTANTE — demasiados colores condicionales lo emborronan todo) y coherencia (el mismo código de color en todas partes: rojo = problema/negativo, nunca lo contrario). A distinguir del ocultamiento condicional de sección (2-5): aquí el objeto sigue MOSTRÁNDOSE pero cambia de aspecto; allí la sección aparece o desaparece. Ambos se combinan: colorear la alerta Y mostrar la sección de alerta solo si hace falta.

Error frecuente de interpretación: « El formato condicional es decoración: cuantos más colores, más profesional es el informe ». No: es un lenguaje de SEÑALIZACIÓN, no de decoración. Cada color debe responder a « ¿qué debe ver el ojo primero? » — más allá de tres códigos de color, ya nadie lee nada. Un color = un mensaje, el mismo en todas partes: eso es todo.
Hacer que la apariencia reaccione a los datos Propiedad, fórmula, tipo devuelto Propiedad + x-2Color, fondo, negrita, visibilidad+Fórmula condicionalIf … Then color Else color+Evaluada por líneaEl tipo correcto devuelto, código constante Colorear la alerta; ocultar la sección es otro mecanismo (2-5).
Propiedad, fórmula, tipo devuelto
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Propiedad: Farès apunta al color de fuente del campo Saldo mediante el botón x-2, no a todo el informe. 2) Fórmula: If saldo < 0 Then crRed Else crBlack — un color según la condición, evaluada línea por línea. 3) Disciplina: rojo reservado al problema, amarillo al umbral crítico, nada más en color. Lección: un color = un mensaje, repetido en todas partes igual.

El árbol de Navidad

« Farès había puesto siete colores condicionales: la dirección preguntó si era un informe o una decoración de fin de año. »
Desde entonces, dos colores y ni uno más

Un informe que parpadea ya no señala nada.

🔎 Ejemplo concreto — Saldos en rojo, stocks críticos en amarillo

Farès aplica sus dos primeras fórmulas de apariencia en sintaxis Crystal.

Fuente del saldo: If {Clients.Solde} < 0 Then crRed Else crBlack
Fondo del stock: If {Stocks.Quantite} < 10 Then crYellow Else crNoColor
→ vista previa: la apariencia varía línea por línea.

Lectura: la vista cae primero sobre el rojo y el amarillo — exactamente el objetivo.

Lección: devolver un color para un color, un booleano para la visibilidad.

Vocabulario de la sección

Formato condicional
Cambiar la apariencia de un objeto (color, fuente, fondo, visibilidad…) según una condición sobre los datos: la apariencia reacciona a los valores.

Ejemplo sencillo: Los saldos negativos de Farès mostrados en rojo.

Lo que no es: una tabla en blanco y negro donde los impagados se pierden.

Reflejo: en cuanto un valor deba saltar a la vista, condicionarlo.

Botón de fórmula de propiedad (x-2)
Pequeño botón junto a casi cada propiedad de formato; allí se escribe la fórmula que devuelve el valor de la propiedad.

Ejemplo sencillo: El x-2 del color de fuente del campo Saldo.

Lo que no es: volver a colorear las celdas a mano una por una.

Reflejo: buscar el x-2 antes de cualquier retoque manual.

Fórmula condicional de apariencia
Fórmula que devuelve el valor de una propiedad según una condición, p. ej. If {Montant} < 0 Then crRed Else crBlack.

Ejemplo sencillo: El fondo amarillo de Farès cuando el stock baja de 10.

Lo que no es: una fórmula que devuelve texto para un color.

Reflejo: devolver siempre el tipo esperado por la propiedad.

Evaluación por aparición
La fórmula se evalúa para cada aparición del objeto (cada línea): la apariencia varía línea por línea.

Ejemplo sencillo: Cada saldo de cliente coloreado según SU valor.

Lo que no es: un color único fijo para toda la columna.

Reflejo: verificar en la vista previa que varía bien por línea.

Código de color coherente
Mismo significado de los colores en todo el informe (rojo = problema/negativo), con moderación.

Ejemplo sencillo: El rojo reservado a los saldos negativos y a los retrasos en casa de Farès.

Lo que no es: rojo para los buenos resultados en una tabla y para los malos en otra.

Reflejo: fijar 2-3 códigos y no cambiarlos.

En la práctica — Aplicar un formato condicional

  1. Seleccione un campo (p. ej. Importe), abra su formato y localice el botón FÓRMULA (x-2) junto a una propiedad (color de fuente).
  2. Escriba una fórmula condicional: If {Montant} < 0 Then crRed Else crBlack → los negativos en rojo.
  3. Pruebe otras propiedades: color de FONDO según un umbral, VISIBILIDAD (ocultar si condición), negrita si valor notable.
  4. Verifique en la vista previa que la apariencia varía bien línea por línea; mantenga un código de color constante (rojo = problema).
Vincula la apariencia a los datos: el informe señala visualmente la información clave — una ventaja para la legibilidad y la decisión.

Guion listo para decir — presentar el estado que señala (30 s)

« Ya no es una tabla para releer entera: los saldos negativos aparecen en rojo, los retrasos de más de 30 días en amarillo. Mismo código en todas partes — rojo siempre significa problema. Partimos directamente de los casos señalados en la reunión de recobro. »

Para decir al presentar el estado; proyectar la vista previa con los colores.

Plantilla copiar-pegar — fórmulas de apariencia (sintaxis Crystal)

// Negativos en rojo (color de fuente)
If {Clients.Solde} < 0 Then crRed Else crBlack
// Stock crítico resaltado (color de fondo)
If {Stocks.Quantite} < 10 Then crYellow Else crNoColor
// Estado con color
If {Commandes.Statut} = "En retraso" Then crRed
Else If {Commandes.Statut} = "OK" Then crGreen Else crBlack

Independiente

Dos fórmulas de color bien colocadas y su estado señala solo lo que cuenta.

PYME en Argel

Farès colorea saldos y retrasos: la reunión de recobro parte de los casos rojos.

Equipo de proyecto

Fijar el código de color del informe en la guía (rojo = problema) antes de multiplicar los estados.

Principiante

Esta semana: un color de fuente + un color de fondo condicionales, probados en vista previa.

✓ Buenas prácticas

  • Elija la propiedad correcta: fuente para teñir, fondo para resaltar, negrita para subrayar sin color.
  • Devuelva siempre el tipo esperado (color, booleano, estilo) — primera causa de fallo.
  • Limítese a 2-3 códigos de color y mantenga el mismo sentido en todo el informe.

✗ Errores frecuentes

  • Colorear para decorar: más allá de tres códigos, ya nadie lee nada.
  • Invertir el código de una tabla a otra (rojo = bueno aquí, malo allí).
  • Confundir formato condicional (cambia el aspecto) y ocultamiento de sección (hace desaparecer).

Puntos clave

  • El FORMATO CONDICIONAL vincula la apariencia a los datos mediante una fórmula sobre una propiedad (botón x-2), evaluada LÍNEA POR LÍNEA.
  • P. ej. color: If {Montant} < 0 Then crRed Else crBlack — la fórmula devuelve el TIPO de la propiedad (color, booleano, estilo).
  • Usos reyes: negativos en rojo, umbrales resaltados, estados con colores, valores notables en negrita.
  • CON SENTIDO y moderación, de forma COHERENTE (rojo = problema en todas partes) — si no, es ruido.

Desafío 48h — aplíquelo mañana

Añada 2 fórmulas de apariencia a su estado real (1 color de fuente + 1 fondo) y haga validar el código de color por un colega.

Lista de salida de la sección
  • Mi estado señala lo importante sin relectura integral.
  • Mis fórmulas devuelven el tipo esperado por cada propiedad.
  • Mi código de color es limitado y constante en todas partes.
Autoevaluación 1-5: ¿un nuevo lector detecta las alertas en diez segundos?¿tengo más de tres códigos de color en el mismo informe?

Preguntas frecuentes

¿Cómo destacar valores (negativos, umbrales, estados)?

Seleccione el objeto, abra su formato, haga clic en el BOTÓN DE FÓRMULA (x-2) de la propiedad deseada y escriba la fórmula. Casos habituales: negativos en rojo (color de fuente: If {Montant} < 0 Then crRed Else crBlack); umbral resaltado (fondo: If {Stock} < 10 Then crYellow Else crNoColor); estado con color (If {Statut} = « En retraso » Then crRed Else If {Statut} = « OK » Then crGreen Else crBlack); importes grandes en negrita (estilo). Buenas prácticas: elegir la propiedad CORRECTA (fuente para teñir, fondo para resaltar, negrita sin color), devolver el TIPO CORRECTO (color para un color — crRed, crYellow… — booleano para la visibilidad), y mantenerse SOBRIO y coherente.

Formato condicional u ocultamiento condicional de sección: ¿qué diferencia hay?

Dos mecanismos complementarios a base de fórmulas. El FORMATO CONDICIONAL actúa sobre la APARIENCIA de un OBJETO (color, negrita, fondo…): el objeto sigue MOSTRÁNDOSE pero cambia de aspecto — uso: SEÑALAR un valor sin ocultar nada (negativo en rojo). El OCULTAMIENTO CONDICIONAL (2-5) actúa sobre la VISIBILIDAD de una SECCIÓN (o de un objeto mediante Suppress): la sección se MUESTRA u OCULTA según un booleano — uso: mostrar solo lo PERTINENTE (ocultar las líneas con importe nulo, mostrar una alerta solo si hay condición). Recuerde: uno CAMBIA EL ASPECTO de lo que sigue visible, el otro HACE APARECER O DESAPARECER. Se combinan: colorear la alerta en rojo Y mostrar su sección solo cuando existe.

Comprueba tu comprensión

¿Qué hay que devolver en una fórmula de color de fuente?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 3Preguntas inéditas y más difíciles para validar tus conocimientos