数据库 windows

Excel生成随机的32位id

Posted on 2023-04-24,2 min read

在Excel用公式随机生成32位的随机id(无符号,只有数字和小写字母)🍓


=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),"",DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4),"","4",DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(8,11)),DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4)))

⚽️示例:620e65bc427c32702917fd8dfaebb2df
🍑🍒🍎🍐🍊🍋🍌🍉🍇
如果需要大写把LOWR函数去掉即可

🥐🍤利用宏生成32位ID 自动生成填充到以A列的行数为基准的行
🍒🍑VBA代码如下

Sub 自动填充32位id()
'
' 自动填充32位id 宏
'

'
    ActiveWindow.SmallScroll Down:=-9
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = _
        "=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),"""",DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4),"""",""4"",DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"""",DEC2HEX(RANDBETWEEN(8,11)),DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"""",DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4)))"
    r = Cells(Rows.Count, "A").End(xlUp).Row
    Selection.AutoFill Destination:=ActiveCell.Range("A1:A" & r), Type:= _
        xlFillDefault
    r = Cells(Rows.Count, "A").End(xlUp).Row
    ActiveCell.Range("A1:A" & r).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


下一篇: markdown常用语法汇总→

loading...