EXCEL 随机提取不重复值组合

EXCEL表中,A1:A20是不重复的值,现在需要C1从A1:A20中提取5个字母组合,要求这5个字母不能有相同的,谢谢指教!我用了图片的公式,有好多单元格是重复的,如果要不行,可否用公式查找C列中有相同字母的单元格,有则显示有
请问如果建这个VBA,是在宏里面吗

我用下面的VBA编程自定义函数实现了功能:

Option Explicit

Function éšæœºç»„合(ByRef rng As Range, Optional ByVal n As Long = 1) As String
    Dim t As Range, db As Object, i&, v$, c$, s$, arr, m&, j&, l&
    Set db = CreateObject("Scripting.Dictionary")
    For Each t In rng.Cells
        v = Trim(t.Text)
        db(v) = True
    Next t
    arr = db.Keys
    Set db = Nothing
    s = ""
    m = UBound(arr)
    l = LBound(arr)
    For i = 1 To n
        j = Int((m - l + 1) * Rnd + l)
        c = arr(j)
        s = s & c
        arr(j) = arr(m)
        m = m - 1
        If m < l Then Exit For
    Next i
    éšæœºç»„合 = s
End Function

程序代码和公式示例:

温馨提示:答案为网友推荐,仅供参考
相似回答