首页 > 解决方案 > Excel:从两列中提取按字母顺序排列的元素的唯一不同列表

问题描述

我试图弄清楚如何使用 VBA 或 excel 公式执行以下任务:从包含一些值的两列开始,我想在第三列中提取每个字符数小于或等于 3 的元素。列3 应包含所有长度 <=3 按字母顺序排列的值。

例如,如果我们有:

Car     Body
Sun     Sun
Bee     Share
Bath    Spot

第 3 列应包含

Bee 
Car 
Sun

有人知道我该怎么做吗?我尝试了高级过滤选项,但在指示单词的长度时,我没有设法将两个不同的列作为输入。

标签: excelvba

解决方案


怎么样:

Sub MAIN()
    Dim it As Range, r As Range, x0
        With CreateObject("scripting.dictionary")
            For Each it In Range("A1:B4")
                If Len(it.Value) <= 3 Then
                    x0 = .Item(it.Value)
                End If
            Next it

            Set r = Range("C1").Resize(.Count, 1)
            r.Value = Application.Transpose(.Keys)
            r.Sort [C1], 1
        End With
End Sub

这个字典可以提取唯一性:

在此处输入图像描述


推荐阅读