回覆列表
  • 1 # 使用者9715280666973

    如圖,在A列單元格區域中,有一些內容。

    但是部分內容重複了。在Excel裡面,有很多方法可以來查詢到重複值。今天來介紹一下使用公式,在B列裡面列出哪些值是有重複的。

    在單元格B2照片那個,輸入公式:

    =INDEX($A$1:$A$14,MATCH(0,COUNTIF($B$1:B1,$A$1:$A$14)+IF(COUNTIF($A$1:$A$14,$A$1:$A$14)>1,0,1),0))

    這裡要用到陣列公式,輸入以後按Ctrl+Shift+Enter來返回結果。然後拖動單元格右下角向下複製公式,如圖所示,有重複值的會顯示出來,但是當沒有重複值以後,結果就顯示錯誤了。

    下面就來詳細分解一下這個公式。

    1. COUNTIF($B$1:B1,$A$1:$A$14)

    COUNTIF函式是根據條件來進行計數,在這裡條件為$A$1:$A$14的每一個單元格內容,區域是單元格B1。這時單元格B1為空,因此不管條件是什麼,計數結果都是0,陣列公式的話,結果就是:{0;0;0;0;0;0;0;0;0;0;0;0;0;0}

    將這部分公式直接輸入到單元格中再按Ctrl+Shift+Enter的話返回的結果為0。如果需要檢視,選擇單元格B2,在編輯欄中選中這部分公式,按F9鍵,就會顯示出來了。

    2. COUNTIF($A$1:$A$14,$A$1:$A$14)

    這是第二個COUNTIF函式,條件和區域均為$A$1:$A$14,在這個陣列函式中,每一個單元格都會和其他單元格進行查詢匹配,如果有重複值的話,COUNTIF計數就會加一。例如A1單元格為蘋果,與A2:A14單元格中的值進行匹配,發現了一個匹配上的單元格A12,因此就加上1。

    這部分公式返回的結果為:{2;2;2;1;1;1;1;1;1;1;1;2;2;2}。也可以使用F9鍵來進行檢視。

    3. IF(COUNTIF($A$1:$A$14,$A$1:$A$14)>1,0,1)

    判斷COUNTIF函式返回的結果是否大於1,是的話返回0,否則返回1。根據上面一步COUNTIF函式的結果,如果有重複的話,返回的值是2大於1,IF函式就會返回0;否則就返回1。

    這裡判斷以後的結果是:{0;0;0;1;1;1;1;1;1;1;1;0;0;0}

    4. COUNTIF($B$1:B1,$A$1:$A$14)+IF(COUNTIF($A$1:$A$14,$A$1:$A$14)>1,0,1)

    這裡比較簡單,直接相加就可以,返回的結果為:{0;0;0;1;1;1;1;1;1;1;1;0;0;0}

    5.根據前面的步驟簡化了以後為:MATCH(0,{0;0;0;1;1;1;1;1;1;1;1;0;0;0},0)

    查詢值0需要在陣列{0;0;0;1;1;1;1;1;1;1;1;0;0;0}中進行精確匹配,匹配到第一個精確的值就會返回位置。在這個陣列中第一個值就匹配,因此返回第一個值的位置1。

    6. 根據前面的步驟簡化了以後為:=INDEX($A$1:$A$14,1)

    返回$A$1:$A$14中位置為1的單元格的值,這裡就會返回蘋果。

    上述是在單元格B2裡面輸入以後的返回結果,驗證以後是正確的,在$A$1:$A$14中蘋果是有重複出現的。

    下拉複製以後,在單元格B3裡面,公式變為:

    =INDEX($A$1:$A$14,MATCH(0,COUNTIF($B$1:B2,$A$1:$A$14)+IF(COUNTIF($A$1:$A$14,$A$1:$A$14)>1,0,1),0))

    第一個COUNTIF中變為$B$1:B2,這樣可以把查詢過的值排除,不會再接在來的MATCH函式中匹配到。一直向下複製的話這部分引用區域會自動更新。因此,當沒有重複值,無法匹配的時候,就會返回錯誤。

    以上就是在另一列中返回重複值的公式和步驟詳解了,可以實際進行嘗試一下。

  • 中秋節和大豐收的關聯?
  • 形容眼神的詩詞?