从Excel中的范围创建唯一值列表

时间:2018-11-19 17:41:12

标签: excel excel-formula excel-2010 array-formulas

我在Excel的工作表中散布了数据(名称)。它在A到M列中。 有些行的每一列(A-M)中都有数据,有些行什么都没有。

我要提取范围中每个唯一值的列表(甚至是每个值的列表,然后我可以删除重复项)。

在我生命中,我无法弄清楚该如何做,也没有找到在线示例从RANGE(而不是单个列)中提取唯一值。

有什么想法吗?让我知道是否需要更多数据的屏幕截图。

2 个答案:

答案 0 :(得分:2)

尝试一下此宏:

Sub MAINevent()
    Dim it As Range, r As Range, x0
        With CreateObject("scripting.dictionary")
            For Each it In Range("A:M").SpecialCells(2)
                x0 = .Item(it.Value)
            Next

            Set r = Cells(1, "N").Resize(.Count, 1)
            r.Value = Application.Transpose(.Keys)
        End With
End Sub

enter image description here

答案 1 :(得分:1)

您可以使用Go to Special Ctrl + G -> Special)选择blanks并将其删除( Ctrl + -,并选择了单元格)。然后,使用here中所述的公式将所有列堆叠为一个,一个又一个地堆叠。然后用值替换公式,最后使用Remove Duplicates