首頁>Club>
2
回覆列表
  • 1 # 套路Excel

    重複值是Excel當中經常遇到的問題。

    下面提供一些關於“單列去重複”的方法。

    1、單列去重複的函式合集。

    上圖中,A列為資料,需要對A列的資料提取不重複值。

    從C列開始到I列,都是陣列函式公式,陣列公式使用時需同時在鍵盤上按Ctrl+Shift+Enter三鍵。公式依次為:

    =INDEX($A$1:$A$21,SMALL(IF(MATCH(A$2:A$21,A$2:A$21,)=ROW($2:$21)-1,ROW($2:$21)),ROW(A1)))&""=INDEX($A$1:$A$21,MATCH(,COUNTIF(D$1:D1,A$2:A$21),)+1)&""=INDEX($A$1:$A$21,MIN(IF(COUNTIF(E$1:E1,A$2:A$22)=0,ROW($2:$22))))&""=INDIRECT("A"&MIN(IF(COUNTIF(F$1:F1,A$2:A$21)=0,ROW($2:$21))))&""=LOOKUP(,1/(COUNTIF(G$1:G1,A$2:A$21)-1),A$2:A$21)=OFFSET($A$1,MIN(IF(COUNTIF($H$1:H1,$A$2:$A$21)=0,ROW($A$2:$A$21)))-1,)3、高階篩選操作。

    選擇單元格區域--資料--高階,在彈出的篩選操作框中,勾選將篩選結果複製到其他位置--勾選選擇不重複記錄--再選擇輸出到那個單元格--確定。

    4、資料透視表。

    選擇單元格區域--插入--資料透視表

    然後將資料複製--貼上到要引用的地方。

    5、自定義函式

    如果覺得上面的方法都比較麻煩,公式又難於理解,可以使用本人寫的自定義函式。

    getone函式有兩個引數

    引數1:為要去重複的單元格區域,區域中如果有空白單元格將忽略處理。

    引數2:為整數,1表示引數1單元格區域中第一個去重複的資料;2表示第2個.....

    該函式也支援多列去重。

    參考程式碼如下,可複製程式碼,然後在Excel中的VBE編輯器中新建模組,放入程式碼,即可使用。

    文字程式碼如下:

    Function getone(Rng As Range, i As Long) Dim arr, d As Object, ar, s Set d = CreateObject("scripting.dictionary") arr = Rng.Value For Each ar In arr If ar <> "" Then d(ar) = "" End If Next s = d.keys If i > UBound(s) + 1 Then getone = "" Else getone = s(i - 1) End IfEnd Function

    以上,大都是單列去重複的函式和技巧。

    如題主能提供更加具體的參考,能更好地解決問題。

    僅供參考。

  • 中秋節和大豐收的關聯?
  • 手工怎麼製作發泡混凝土?