我需要一个函数来向Excel中的单元格添加GUID.我在stackoverflow上找到了上一个问题,但它无效.它建议以下功能:
=CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8),"-",DEC2HEX(RANDBETWEEN(0,6553??5),4),"-
",DEC2HEX(RANDBETWEEN(16384,20479),4),"-",DEC2HEX(RANDBETWEEN(32768,49151??),4),"-
",DEC2HEX(RANDBETWEEN(0,65535),4),DEC2HEX(RANDBETWEEN(0,4294967295),8))
Run Code Online (Sandbox Code Playgroud)
我一直无法使concatenate方法工作,所以尝试使用"&"图来连接.这似乎有效,但后来我在第二个DEX2HEX块上出现了一个莫名其妙的错误:DEC2HEX(RANDBETWEEN(0,6553 5),4).Excel公式评估员说这是无效的,但我似乎无法弄清楚为什么.有任何想法吗?
Kon*_*ten 38
从Excel的现代版本开始,语法是逗号,而不是分号.我发布这个答案是为了方便他人,所以他们不必更换字符串 - 我们都懒惰......小时候......人类,对吗?
= CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8), " - ",DEC2HEX(RANDBETWEEN(0,42949),4), " - ",DEC2HEX(RANDBETWEEN(0,42949),4), " - " ,DEC2HEX(RANDBETWEEN(0,42949),4), " - ",DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,42949),4))
或者,如果你喜欢我不喜欢guid尖叫和喊叫你,我们可以像这样低调.
= LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8), " - ",DEC2HEX(RANDBETWEEN(0,42949),4), " - ",DEC2HEX(RANDBETWEEN(0,42949),4)," - ",DEC2HEX(RANDBETWEEN(0,42949),4), " - ",DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,42949),4)))
小智 27
=CONCATENATE(
DEC2HEX(RANDBETWEEN(0;4294967295);8);"-";
DEC2HEX(RANDBETWEEN(0;42949);4);"-";
DEC2HEX(RANDBETWEEN(0;42949);4);"-";
DEC2HEX(RANDBETWEEN(0;42949);4);"-";
DEC2HEX(RANDBETWEEN(0;4294967295);8);
DEC2HEX(RANDBETWEEN(0;42949);4)
)
Run Code Online (Sandbox Code Playgroud)
rch*_*cko 26
我在v.2013 excel vba宏代码中使用以下函数
Public Function GetGUID() As String
GetGUID = Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36)
End Function
Run Code Online (Sandbox Code Playgroud)
这根本不是功能问题.
我花了一些时间挖掘,但问题在于复制和粘贴.尝试复制此:RANDBETWEEN(0,6553??5)
字符串,在原始问题中发布,然后将其粘贴到十六进制编辑器中,然后您将看到65535中实际上有两个空字符:
00000000 52 41 4E 44 42 45 54 57 45 45 4E 28 30 2C 36 35 RANDBETWEEN(0,65
00000010 35 33 00 00 35 29 53?..?5)
Run Code Online (Sandbox Code Playgroud)
小智 5
=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)
)
)
Run Code Online (Sandbox Code Playgroud)
取自git @mobilitymaster。
归档时间: |
|
查看次数: |
81789 次 |
最近记录: |