Excel - 从每个单元格中具有多个值的列中提取唯一值

时间:2017-06-08 10:34:22

标签: excel list

我在列中有一个发布者列表。 我需要将独特的发布者提取到一个单独的列表中,如下所示:

PLoS
Nature
IMA
NAoS
Elsevier
PLoS
T&F, Ebsco
ONCOTARGET
Oxford, ProQuest
Nature
Elsevier, ProQuest
ACS
Springer
Ebsco/ProQuest
PLoS
Elsevier
Nature

需要成为:

PLoS
Nature
IMA
NAoS
Elsevier
T&F
Ebsco
ONCOTARGET
Oxford
ProQuest
ACS
Spring

正如您所看到的,在有多个发布商的行中,我需要统计它们。

这可能吗?

1 个答案:

答案 0 :(得分:1)

这个短宏既解析数据又删除重复项:

Sub dural()
    Dim K As Long, i As Long, N As Long
    Dim ary, a

    K = 1
    N = Cells(Rows.Count, "A").End(xlUp).Row

    ary = Range("A1:A" & N)

    For Each a In ary
        a = Replace(a, ", ", "/")
        If InStr(1, a, "/") > 0 Then
            bry = Split(a, "/")
                For Each b In bry
                    Cells(K, 2) = b
                    K = K + 1
                Next b
        Else
            Cells(K, 2).Value = a
            K = K + 1
        End If
    Next a

    Range("B:B").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

enter image description here