一、案例定位

原書用同一份產品銷售資料示範條件式缺漏值補值:根據 Salesperson 推導 Branch Location。第一版 XLOOKUP 對 David Green 失敗,把應為 Boston 的缺漏值補成 0;作者再要求 Copilot 只搜尋 Branch Location 非空白的列。

二、學習目標

三、案例情境

去重後有兩個 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

五、Excel/R/AI 分析方法

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 其他非空白紀錄一致的地點。