因此,我的数据由人员的名字组成,我想根据他们的名字为每个人分配一个唯一的数字ID。但是,我要给相同的名字人提供相同的唯一数字ID。例如,如果说,有两个人的名字相同,例如约翰,他们将具有相同的唯一数字ID值。请注意,我想动态分配此ID,因为人员数据将不断添加,因此每次添加新人员数据时,我都需要检查是否已经有该人员的ID,或者是否必须生成一个新的ID。我想用一些公式或宏来做到这一点。
如果有人知道如何执行此python,如为同一字符串生成相同的唯一数字ID。我也尝试使用python的UUID模块找到答案,但是没有找到任何合适的解决方案。
ID Name
1 John
2 Michelle
1 John
3 Hasan
2 Michelle
如您所见,我的John值具有与'Michelle'相同的数字ID,即'1'
答案 0 :(得分:0)
此UDF有点不稳定,但是可以使用,取决于您拥有多少个名称以及名称的分布...
Public Function GenerateId(ByVal strText As String) As Long
Dim i As Long
For i = 1 To Len(strText)
strChar = UCase(Mid(strText, i, 1))
GenerateId = GenerateId + Asc(strChar)
Next
End Function
...它有可能翻倍,但不容易预测。您必须通通所有名称并检查所有结果。
此外,我知道这不是从1开始的顺序ID方式,但是您没有指定,因此我使用了一些创意许可。 :-)
此外,如果数据的排序方式不同,这将确保名称保留其ID,不确定是否是必要条件,但这是一个考虑因素。
反正值得一试。
答案 1 :(得分:0)