Политика пустых значений: Unit и Postal Code необязательны и пропускаются, когда ячейка действительно пуста или формула возвращает пустую строку; Street и City обязательны. Числовой ноль — данные, а не пустое значение. N/A остаётся буквальным текстом. Любая ошибка источника или отсутствие обязательного поля возвращает «Проверить».
Формула Display Address: =IFERROR(IF(OR([@Street]="",[@City]=""),"Проверить",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])),"Проверить"). TEXTJOIN с ignore_empty=TRUE удаляет Unit или Postal Code вместе с предназначенным для него разделителем. Postal Code остаётся текстом, поэтому 01970 сохраняется. Добавьте отдельный столбец аудита: =IF([@[Postal Code]]="","Почтовый индекс отсутствует","").
Формула Contact Label: =IFERROR(IF(OR([@Street]="",[@City]=""),"Проверить",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])&" — доб. "&TEXT([@Extension],"0")),"Проверить"). Не используйте логическую проверку Extension, потому что ноль должен сохраниться.
Тесты: всё заполнено → «4B, 18 Lake Rd, Salem, 01970 — доб. 0»; Unit — пустая строка → «18 Lake Rd, Salem, 01970» без начальной запятой; Postal Code пуст → адрес без него плюс отметка аудита; Street пуст → Проверить; Unit равен N/A → начинается с «N/A, …»; ошибка источника → Проверить; копирование внутри таблицы сохраняет ссылки на текущую строку. После экспорта CSV выборочно проверьте сохранение 01970 и заключение полей с запятыми в кавычки средством экспорта.