一、案例 如下圖所示,A2:A5、C2:C7、E2:E4為三份名單。要求將三份名單整合為一份名單,且整合名單對重復出現的名字只提取一次。 二、計算步驟 在G2單元格輸入公式 =IFERROR(IFERROR(LOOKUP(2,1/(COUNTIF($G$1:G1,$A$2:$A$5)=0),$A$2:$A$5), LOOKUP(2,1/(COUNTIF($G$1:G1,$C$2:$C$7)=0),$C$2:$C$7)),LOOKUP(2,1/(COUNTIF($G$1:G1,$E$2:$E$4)=0),$E$2:$E$4)) 拖動填充柄向下復制公式,直至出現”#N/A”錯誤值,此時說明已提取所有的非重復值。 公式解析: (1)本例使用IFERROR+LOOKUP+COUNTIF組合公式,即 IFERROR(IFERROR(LOOKUP+COUNTIF,LOOKUP+COUNTIF),LOOKUP+COUNTIF) (2)COUNTIF用于計算給定區域中滿足某個條件的單元格數目,語法為COUNTIF(range,criteria)。 COUNTIF($G$1:G1,$A$2:$A$5)用于判斷A2:A5單元格的數據是否出現在$G$1:G1區域。COUNTIF函數返回的結果為{0;0;0;0};COUNTIF($G$1:G1,$A$2:$A$5)=0返回結果為{TRUE;TRUE;TRUE;TRUE}; 1/(COUNTIF($G$1:G1,$A$2:$A$5)=0)返回結果為{1;1;1;1}。 (3)LOOKUP(2,1/(COUNTIF($G$1:G1,$A$2:$A$5)=0),$A$2:$A$5)即 LOOKUP(2, {1;1;1;1},$A$2:$A$5)指從{1;1;1;1}查找“2”,然后返回相應位置A2:A5的值。由于無法找到“2”,LOOKUP函數會返回最后一個“1”對應的A2:A5的值,即“鐘無艷”。 (4)隨著拖動G2單元格填充柄向下復制公式,第1個LOOKUP+COUNTIF組合會依次返回A2:A5單元格的非重復值。當第1個LOOKUP+COUNTIF組合返回”#N/A”錯誤值,說明已返回所有A2:A5單元格的非重復值。 此時IFERROR函數控制公式轉向第2個LOOKUP+COUNTIF函數,并依次返回C2:C7單元格中不在整合名單中的名字。 當C2:C7的非重復值全部提取之后,IFERROR函數再次控制公式轉向第3個LOOKUP+COUNTIF函數,并依次返回E2:E4單元格中不在整合名單中的名字。 ![]() END |
|