空白の方針:UnitとPostal Codeは任意項目で、完全な空白または数式による空文字列の場合は省略します。StreetとCityは必須です。数値の0はデータであり、空白ではありません。N/Aはリテラル文字列のまま残します。元データにエラーがある場合、または必須フィールドが欠けている場合はReviewを返します。
Display Addressの数式:=IFERROR(IF(OR([@Street]="",[@City]=""),"Review",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])),"Review")。ignore_emptyをTRUEにしたTEXTJOINにより、UnitまたはPostal Codeが欠けている場合は、それに対応する区切り位置も取り除かれます。Postal Codeは文字列のままなので、01970が保持されます。別の監査列として=IF([@[Postal Code]]="","Postal code missing","")を追加します。
Contact Labelの数式:=IFERROR(IF(OR([@Street]="",[@City]=""),"Review",TEXTJOIN(", ",TRUE,[@Unit],[@Street],[@City],[@[Postal Code]])&" — ext. "&TEXT([@Extension],"0")),"Review")。0を保持する必要があるため、Extensionを真偽値として判定しないでください。
テスト:全項目あり → 「4B, 18 Lake Rd, Salem, 01970 — ext. 0」、Unitが空文字列 → 「18 Lake Rd, Salem, 01970」となり先頭カンマなし、Postal Codeが空白 → 住所から省略し監査フラグあり、Streetが空白 → Review、UnitがN/A → 「N/A, …」で始まる、元データにエラー → Review、テーブル内で下方向へコピー → 行単位の参照を保持。CSV書き出し後に、01970が保持されていること、およびカンマを含むフィールドが書き出し機能によって引用符で囲まれていることを抜き取り確認してください。