Política de celdas vacías: Unit y Postal Code son opcionales y se omiten cuando están realmente vacíos o contienen una cadena vacía devuelta por una fórmula; Street y City son obligatorios. El cero numérico es un dato, no un valor vacío. N/A permanece como texto literal. Cualquier error de origen o campo obligatorio ausente devuelve «Revisar».
Fórmula de Display Address: =IFERROR(IF(OR([@Street]="",[@City]=""),"Revisar",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])),"Revisar"). TEXTJOIN con ignore_empty en TRUE elimina Unit o Postal Code junto con el separador que les correspondería. Postal Code se mantiene como texto, por lo que 01970 permanece intacto. Añade una columna de auditoría independiente: =IF([@[Postal Code]]="","Falta el código postal","").
Fórmula de Contact Label: =IFERROR(IF(OR([@Street]="",[@City]=""),"Revisar",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])&" — ext. "&TEXT([@Extension],"0")),"Revisar"). No uses una prueba lógica sobre Extension porque el cero debe conservarse.
Pruebas: todos presentes → «4B, 18 Lake Rd, Salem, 01970 — ext. 0»; Unit con cadena vacía → «18 Lake Rd, Salem, 01970», sin coma inicial; Postal Code vacío → dirección sin él y con indicador de auditoría; Street vacío → Revisar; Unit igual a N/A → comienza por «N/A, …»; error de origen → Revisar; copiar dentro de la tabla conserva las referencias de cada fila. Tras exportar a CSV, comprueba mediante una muestra que 01970 se haya conservado y que el exportador haya entrecomillado los campos con comas.