Excel 2007 - 根据文本生成唯一ID?

Ken*_*nes 7 excel excel-2007 uniqueidentifier

我有一张工作表,其中包含B列中的名称列表和A中的ID列.我想知道是否有某种公式可以获取该行B列中的值并根据文本生成某种ID ?每个名称也是唯一的,不会以任何方式重复.

如果我不必真的使用VBA,那将是最好的.但如果我必须,那就这样吧.

JMa*_*Max 1

抱歉,我没有找到带有公式的解决方案,即使该线程可能有帮助(尝试计算拼字游戏中的点),但我没有找到一种方法来确保生成的哈希是唯一的

然而,这是我的基于UDF(使用定义函数)的解决方案:

将代码放入模块中:

Public Function genId(ByVal sName As String) As Long
'Function to create a unique hash by summing the ascii value of each character of a given string
    Dim sLetter As String
    Dim i As Integer
    For i = 1 To Len(sName)
        genId = Asc(Mid(sName, i, 1)) * i + genId
    Next i
End Function
Run Code Online (Sandbox Code Playgroud)

并在工作表中像公式一样调用它:

=genId(A1)
Run Code Online (Sandbox Code Playgroud)

[编辑] 添加了* i来考虑顺序。它适用于我的单元测试