选择:使用 INDEX/MATCH,因为 Excel 2016 必须能重新计算,返回列位于键左侧,而且插列会让 VLOOKUP 的列序号脆弱。XLOOKUP 是更清晰的现代选择,但必需的最旧版本不支持。
Orders!F2 公式:=IF(B2="","",IFERROR(INDEX(Customers!$B$2:$B$5000,MATCH(B2,Customers!$D$2:$D$5000,0)),"待检查"))。MATCH 第三个参数为 0,因此寻找精确键位置;INDEX 从风险等级区域返回同一位置。IF 保留空输入,IFERROR 给出批准的未匹配标签。使用前以 =COUNTIF(Customers!$D$2:$D$5000,D2) 检查,并处理大于 1 的计数;查找公式自身不能决定哪条重复记录有效。
矩阵:XLOOKUP 能清晰支持向左查找和显式未匹配,但不兼容 Excel 2016。VLOOKUP 需要重排或复制键到返回列左侧,数值列序号也可能在插列后失效。INDEX/MATCH 满足兼容、向左返回和布局韧性。仅 Microsoft 365 的替代:=IF(B2="","",XLOOKUP(B2,Customers!$D$2:$D$5000,Customers!$B$2:$B$5000,"待检查",0))。
测试:C-104 → 中;空白 → 空白;未知 C-999 → 待检查;文本编号与不同类型来源 → 规范化前待检查;C-104 重复 → 重复检查大于 1,结果不可采信;在 B 与 D 间插列 → 引用应随数据移动并仍返回相同等级。