閱: 3714 | 回: 0
等級:初學者
-
積分:0
-
財富值:0.00
-
身份:普通用戶
數(shù)組公式提取區(qū)域中的重復值
有時需要要提取多行多列區(qū)域中的重復數(shù)據(jù)到某列,如下圖所示,A2:C11包含一些重復的水果名稱(已用深紅色進行了標記),要將重復的名稱提取到E列。
在E2中輸入數(shù)組公式:
=INDIRECT(TEXT(MIN(IF((COUNTIF($A$2:$C$11,$A$2:$C$11)>1)*(COUNTIF($E$1:E1,$A$2:$C$11)=0),ROW($2:$11)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
公式輸入完畢按Ctrl+Shift+Enter結(jié)束,然后拖動填充柄向下填充,直到公式結(jié)果返回空為止。
說明:
①INDIRECT函數(shù)的第二個參數(shù)為“0”(未輸入即為0),表示返回R1C1樣式的引用。
②TEXT函數(shù)的第二個參數(shù)為“R0C00”,將第一個參數(shù)的數(shù)值返回為R1C1樣式的文本。受該參數(shù)的限制,包含重復值的區(qū)域需在CV列(第100列)的左側(cè),否則公式可能不會返回正確的結(jié)果。
③TEXT函數(shù)的第一個參數(shù),以E3單元格中的公式為例說明如下。IF函數(shù)返回一個數(shù)組,本例為2行10列。當區(qū)域中的重復數(shù)據(jù)未出現(xiàn)在E3單元格上方的區(qū)域中時,數(shù)組元素為區(qū)域中相應(yīng)單元格行號和列數(shù)所構(gòu)成數(shù)值,即“行號×100+列數(shù)”;對于不重復的數(shù)據(jù),或者雖重復但已出現(xiàn)在E3單元格的上方,數(shù)組元素為“7^8”(5764801),受“R0C00”格式的規(guī)定,其前5位為行數(shù),后兩位為列數(shù)。表示如果出現(xiàn)這種情況,將返回R57648C01(即A57648)單元格的值,通常為空。MIN函數(shù)返回上述數(shù)組的最小值,如E3單元格為“203”,此時TEXT函數(shù)返回“R2C03”,INDIRECT函數(shù)返回“橘子”。
④公式中的“$A$2:$C$11”、“$2:$11”、“$A:$C”和“$E$1:E1”都需根據(jù)實際進行修改。
另外,當區(qū)域中只包含數(shù)值時,還可用下面的數(shù)組公式按從大到小的順序提取重復數(shù)值:
有時需要要提取多行多列區(qū)域中的重復數(shù)據(jù)到某列,如下圖所示,A2:C11包含一些重復的水果名稱(已用深紅色進行了標記),要將重復的名稱提取到E列。
在E2中輸入數(shù)組公式:=INDIRECT(TEXT(MIN(IF((COUNTIF($A$2:$C$11,$A$2:$C$11)>1)*(COUNTIF($E$1:E1,$A$2:$C$11)=0),ROW($2:$11)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
公式輸入完畢按Ctrl+Shift+Enter結(jié)束,然后拖動填充柄向下填充,直到公式結(jié)果返回空為止。
說明:①INDIRECT函數(shù)的第二個參數(shù)為“0”(未輸入即為0),表示返回R1C1樣式的引用。
②TEXT函數(shù)的第二個參數(shù)為“R0C00”,將第一個參數(shù)的數(shù)值返回為R1C1樣式的文本。受該參數(shù)的限制,包含重復值的區(qū)域需在CV列(第100列)的左側(cè),否則公式可能不會返回正確的結(jié)果。
③TEXT函數(shù)的第一個參數(shù),以E3單元格中的公式為例說明如下。IF函數(shù)返回一個數(shù)組,本例為2行10列。當區(qū)域中的重復數(shù)據(jù)未出現(xiàn)在E3單元格上方的區(qū)域中時,數(shù)組元素為區(qū)域中相應(yīng)單元格行號和列數(shù)所構(gòu)成數(shù)值,即“行號×100+列數(shù)”;對于不重復的數(shù)據(jù),或者雖重復但已出現(xiàn)在E3單元格的上方,數(shù)組元素為“7^8”(5764801),受“R0C00”格式的規(guī)定,其前5位為行數(shù),后兩位為列數(shù)。表示如果出現(xiàn)這種情況,將返回R57648C01(即A57648)單元格的值,通常為空。MIN函數(shù)返回上述數(shù)組的最小值,如E3單元格為“203”,此時TEXT函數(shù)返回“R2C03”,INDIRECT函數(shù)返回“橘子”。
④公式中的“$A$2:$C$11”、“$2:$11”、“$A:$C”和“$E$1:E1”都需根據(jù)實際進行修改。
另外,當區(qū)域中只包含數(shù)值時,還可用下面的數(shù)組公式按從大到小的順序提取重復數(shù)值:

首先在E1單元格中輸入某個文本,如本例中的“重復值”字樣。然后在E2單元格中輸入數(shù)組公式:
=LARGE(IF(COUNTIF($A$2:$C$11,$A$2:$C$11)>1,$A$2:$C$11),SUM(COUNTIF($A$2:$C$11,$E$1:E1))+1)
公式輸入完畢按Ctrl+Shift+Enter結(jié)束,然后拖動填充柄向下填充,直到公式結(jié)果返“#NUM!”為止。
=LARGE(IF(COUNTIF($A$2:$C$11,$A$2:$C$11)>1,$A$2:$C$11),SUM(COUNTIF($A$2:$C$11,$E$1:E1))+1)
公式輸入完畢按Ctrl+Shift+Enter結(jié)束,然后拖動填充柄向下填充,直到公式結(jié)果返“#NUM!”為止。
我的個性簽名