原書用同一份產品銷售資料示範條件式缺漏值補值:根據 Salesperson 推導 Branch Location。第一版 XLOOKUP 對 David Green 失敗,把應為 Boston 的缺漏值補成 0;作者再要求 Copilot 只搜尋 Branch Location 非空白的列。
FILTER 排除空白候選列。去重後有兩個 Branch Location 缺漏:Sale ID 1003 的 Alice Smith,以及 1005 的 David Green。資料中其他 Alice Smith 交易顯示 New York;Sale ID 1009 的 David Green 顯示 Boston。
| Sale ID | Salesperson | 原 Branch Location | 可由其他列確認 |
|---|---|---|---|
| 1003 | Alice Smith | 空白 | New York |
| 1005 | David Green | 空白 | Boston |
| 1009 | David Green | Boston | Boston |
Copilot 第一版公式:
=IF([@[Branch Location]]="", XLOOKUP([@Salesperson], [Salesperson], [Branch Location]), [@[Branch Location]])
它會尋找 Salesperson 的第一個符合項目。David Green 的第一筆正是 Branch 空白的 1005,因此結果變成 0。
原書修正版:
=IF([@[Branch Location]]="", XLOOKUP([@Salesperson], FILTER([Salesperson], [Branch Location]<>""), FILTER([Branch Location], [Branch Location]<>""), ""), [@[Branch Location]])
| Sale ID | 第一版結果 | 修正版結果 |
|---|---|---|
| 1003 | New York | New York |
| 1005 | 0 | Boston |
修正版使兩個原本缺漏的 Branch Location 都得到與同一 Salesperson 其他非空白紀錄一致的地點。