Cuando realiza una combinación de correspondencia en Word, a menudo necesita mostrar texto diferente, ocultar campos vacíos u omitir ciertos registros según las condiciones de los datos. Editar manualmente cada documento combinado anula el propósito de la automatización. Afortunadamente, Word proporciona códigos de campo condicionales integrados que manejan la lógica SI, ENTONCES, SINO sin escribir ningún código VBA. Este artículo explica cómo usar el campo IF, los campos MERGEFIELD y SKIPIF, y códigos de campo anidados para crear plantillas inteligentes que se adaptan automáticamente a su origen de datos.
Puntos clave: Campos condicionales de combinación de correspondencia sin VBA
- Campo IF con comparación MERGEFIELD: Muestra u oculta bloques de texto según el valor de un campo de datos, por ejemplo, saludar a los clientes de forma diferente según el género.
- Campo SKIPIF para excluir registros: Evita que ciertas filas de datos se combinen cuando una condición es verdadera, útil para filtrar cuentas inactivas.
- Campos anidados dentro de IF: Combina múltiples condiciones o inserta MERGEFIELD dentro de IF para mostrar datos dinámicos solo cuando se cumple una condición.
Cómo funcionan los campos condicionales de Word en la combinación de correspondencia
Word utiliza códigos de campo —instrucciones especiales encerradas entre llaves— para realizar lógica durante una combinación de correspondencia. El campo condicional más común es el campo IF. Su sintaxis es:
{ IF expression1 operator expression2 "true-text" "false-text" }
La expresión puede ser un MERGEFIELD, un marcador o un valor literal. Los operadores incluyen igual (=), no igual (<>), mayor que (>), menor que (<), mayor o igual (>=) y menor o igual (<=). El texto-verdadero y el texto-falso son el resultado cuando la condición es verdadera o falsa. También puede anidar otros campos dentro de esos argumentos de texto.
Para insertar un código de campo, presione Ctrl + F9. Esto crea un par de llaves. No escriba las llaves manualmente: Word no las reconocerá. Dentro de las llaves, escriba el código de campo exactamente. Después de insertar el código, presione Alt + F9 para alternar entre la vista de código de campo y el texto resultante. También puede hacer clic derecho en un campo y elegir Alternar códigos de campo.
Requisitos previos
Antes de usar campos condicionales, el documento principal de combinación de correspondencia ya debe estar conectado a un origen de datos (hoja de cálculo de Excel, contactos de Outlook, base de datos de Access, etc.). También debe haber insertado al menos un MERGEFIELD para confirmar que la combinación funciona. Los campos condicionales harán referencia a esos mismos nombres de campo de datos.
Uso de campos IF para mostrar contenido condicional
El campo IF es la herramienta más flexible para la combinación de correspondencia condicional. Puede usarlo para mostrar saludos diferentes, ocultar secciones opcionales o cambiar el formato según un valor de datos.
Ejemplo 1: Saludo según el género
- Inserte el campo IF
Coloque el cursor donde desee el saludo. Presione Ctrl + F9 para insertar un par de códigos de campo. - Escriba la condición IF
Dentro de las llaves, escriba:IF MERGEFIELD Gender = "Male" "Dear Mr. " "Dear Ms. ". Presione F9 para actualizar el campo. - Agregue el campo de apellido
Después de la llave de cierre del campo IF, presione Ctrl + F9 e inserteMERGEFIELD LastName. El resultado mostrará “Estimado Sr. Smith” o “Estimada Sra. Jones” según los datos.
Ejemplo 2: Ocultar un párrafo cuando un campo está vacío
- Inserte el campo IF alrededor del párrafo
Seleccione todo el párrafo que desea mostrar condicionalmente. Presione Ctrl + F9 para rodearlo con un par de códigos de campo. No elimine el texto del párrafo. - Escriba la condición
Edite el código de campo a:{ IF MERGEFIELD SpecialOffer <> "" "Your special offer: MERGEFIELD SpecialOffer" "" }. Esto muestra el párrafo solo cuando el campo SpecialOffer no está en blanco. - Actualice y pruebe
Presione F9 para actualizar. Ejecute una vista previa en Combinación de correspondencia > Vista previa de resultados para ver que el párrafo aparece solo en los registros que tienen un valor.
Uso de SKIPIF para excluir registros de la combinación
El campo SKIPIF evita que un registro se combine cuando una condición es verdadera. Word pasa al siguiente registro de datos sin imprimir nada para el registro omitido. Esto es útil para filtrar registros que no deben aparecer en el resultado final, como clientes que se dieron de baja de los envíos.
- Inserte SKIPIF al inicio del documento
Coloque el cursor al principio del documento principal, antes de cualquier otro contenido. Presione Ctrl + F9 para insertar un par de códigos de campo. - Escriba la condición SKIPIF
Dentro de las llaves, escriba:SKIPIF MERGEFIELD OptOut = "Yes". Presione F9 para actualizar. - Ejecute la combinación
Cuando combine en un documento nuevo o en la impresora, cualquier registro donde OptOut sea igual a “Yes” se omitirá por completo. Los registros restantes se imprimirán secuencialmente.
Importante: SKIPIF solo funciona durante la operación de combinación real (Correspondencia > Finalizar y combinar). No funciona en el panel Vista previa de resultados. Siempre pruebe primero con un conjunto pequeño de registros.
Campos anidados para condiciones complejas
Puede anidar campos dentro del texto-verdadero o texto-falso de un campo IF para crear una lógica más compleja. Por ejemplo, es posible que desee mostrar un importe de descuento solo si el cliente es miembro y el total de la compra supera los $100.
- Inserte el campo IF externo
Presione Ctrl + F9 y escriba:IF MERGEFIELD Member = "Yes" "" "". Deje ambos argumentos de texto vacíos por ahora. - Agregue el campo IF anidado
En el área de texto-verdadero (entre el primer par de comillas), presione Ctrl + F9 nuevamente y escriba:IF MERGEFIELD Total > 100 "You save $10!" "". El código de campo completo queda:{ IF MERGEFIELD Member = "Yes" "{ IF MERGEFIELD Total > 100 "You save $10!" "" }" "" }. - Actualice y previsualice
Presione F9 para actualizar. Previsualice los registros para confirmar que el mensaje aparece solo para los miembros con un total superior a 100.
La anidación puede alcanzar varios niveles de profundidad, pero mantenga la lógica simple para facilitar el mantenimiento. Si necesita muchas condiciones, considere reestructurar su origen de datos para incluir una columna calculada.
Errores comunes y limitaciones con campos condicionales
Se muestran los códigos de campo en lugar del resultado
Si ve el texto { IF … } en lugar del resultado combinado, está en la vista de códigos de campo. Presione Alt + F9 para cambiar a los resultados de campo. También asegúrese de haber actualizado todos los campos seleccionando todo el documento y presionando F9.
El texto condicional se divide entre saltos de página
Un campo IF que contiene un párrafo con un salto de página puede dividirse incorrectamente. Coloque los saltos de página fuera del campo IF, o use saltos de sección en lugar de saltos de página dentro de los bloques condicionales.
SKIPIF no filtra en la vista previa
Como se indicó anteriormente, SKIPIF solo funciona durante la combinación real. Use Correspondencia > Vista previa de resultados para comprobar otros campos, pero verifique la omisión de registros combinando en un documento nuevo.
Incompatibilidad de tipos de datos en las comparaciones
Los números almacenados como texto en Excel no coincidirán con las comparaciones numéricas. Asegúrese de que los campos numéricos tengan formato de número en el origen de datos. Si es necesario, use la función VAL dentro del código de campo: { IF { MERGEFIELD Total \# "0" } > 100 ... }.
Campo IF vs SKIPIF: cuándo usar cada uno
| Elemento | Campo IF | Campo SKIPIF |
|---|---|---|
| Propósito | Mostrar u ocultar contenido condicionalmente para cada registro | Excluir registros completos del resultado de la combinación |
| Ubicación | En cualquier parte del cuerpo del documento | Debe estar al principio del documento |
| Efecto sobre otros campos | Solo afecta al texto dentro del campo | Omite el registro completo, todos los campos |
| Funciona en la vista previa | Sí | No |
| Caso de uso | Saludo diferente, párrafos opcionales, precios dinámicos | Filtrar registros inactivos, dados de baja o duplicados |
Puede combinar ambos en el mismo documento. Coloque un SKIPIF al principio para eliminar los registros no deseados y luego use campos IF dentro del cuerpo para personalizar lo que queda.
Ahora tiene tres métodos confiables para agregar lógica condicional a la combinación de correspondencia de Word sin escribir VBA. Comience con un campo IF simple para los saludos, luego experimente con SKIPIF para filtrar registros. Para escenarios avanzados, anide campos dentro de IF para comprobar múltiples condiciones. Siempre pruebe su combinación con una muestra pequeña antes de procesar miles de registros. Como siguiente paso, explore los modificadores MERGEFORMAT y \ MERGEFORMAT para conservar el formato dentro de los campos anidados.