excel guid

sha256 excel



¿Cómo crear un GUID en Excel? (12)

Necesito una función para agregar un GUID a las celdas en excel. Encontré esta pregunta anterior en stackoverflow , pero no está funcionando. Sugiere la siguiente función:

=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))

No he podido hacer funcionar el método de concatenación, y lo intenté con la cifra "&" para concatenar de todos modos. Eso pareció funcionar, pero luego recibí un error inexplicable en el segundo bloque DEX2HEX: DEC2HEX (RANDBETWEEN (0,6553 5), 4). El evaluador de la fórmula de Excel dice que no es válido, pero parece que no puedo entender por qué. ¿Algunas ideas?


= INFERIOR (CONCATENAR (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)))

tomado de git @mobilitymaster


A partir de la versión moderna de Excel, existe la sintaxis con comas, no con punto y coma. Estoy publicando esta respuesta por conveniencia de los demás para que no tengan que reemplazar las cadenas. Todos somos flojos ... hrmp ... humanos, ¿no?

= CONCATENAR (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))

O bien, si no te gusta que me desagraden cuando un guid grita y grita y tú, podemos ir a un gabinete inferior como este.

= INFERIOR (CONCATENAR (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)))


Esto no es un problema con la función en absoluto.

Me costó un poco excavar, pero el problema está en copiar y pegar. Intenta copiar esto: RANDBETWEEN(0,6553‌​5) , publicada en tu pregunta original, y pégala en un editor hexadecimal, luego verás que en realidad hay dos caracteres nulos en el 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)


Estoy usando la siguiente función en el código v.2013 excel vba macro

Public Function GetGUID() As String GetGUID = Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36) End Function


La fórmula para Excel alemán:

=KLEIN(VERKETTEN(DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;8));8);"-";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;4));4);"-";"4";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;3));3);"-";DEZINHEX(ZUFALLSBEREICH(8;11));DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;3));3);"-";DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;8));8);DEZINHEX(ZUFALLSBEREICH(0;POTENZ(16;4));


La fórmula para Excel francés:

=CONCATENER( DECHEX(ALEA.ENTRE.BORNES(0;4294967295);8);"-"; DECHEX(ALEA.ENTRE.BORNES(0;42949);4);"-"; DECHEX(ALEA.ENTRE.BORNES(0;42949);4);"-"; DECHEX(ALEA.ENTRE.BORNES(0;42949);4);"-"; DECHEX(ALEA.ENTRE.BORNES(0;4294967295);8); DECHEX(ALEA.ENTRE.BORNES(0;42949);4))

Como señaló Josh M, esto no proporciona un GUID conforme sin embargo, pero esto funciona bien para mi necesidad actual.


La fórmula para el holandés Excel:

=KLEINE.LETTERS(TEKST.SAMENVOEGEN(DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;8));8);"-";DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;4));4);"-";"4";DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;3));3);"-";DEC.N.HEX(ASELECTTUSSEN(8;11));DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;3));3);"-";DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;8));8);DEC.N.HEX(ASELECTTUSSEN(0;MACHT(16;4));4)))


La fórmula para la versión polaca:

=ZŁĄCZ.TEKSTY(DZIES.NA.SZESN(LOS.ZAKR(0;4294967295);8);"-";DZIES.NA.SZESN(LOS.ZAKR(0;42949);4);"-";DZIES.NA.SZESN(LOS.ZAKR(0;42949);4);"-";DZIES.NA.SZESN(LOS.ZAKR(0;42949);4);"-";DZIES.NA.SZESN(LOS.ZAKR(0;4294967295);8);DZIES.NA.SZESN(LOS.ZAKR(0;42949);4))


Versión italiana :

=CONCATENA(DECIMALE.HEX(CASUALE.TRA(0;4294967295);8);"-";DECIMALE.HEX(CASUALE.TRA(0;42949);4);"-";DECIMALE.HEX(CASUALE.TRA(0;42949);4);"-";DECIMALE.HEX(CASUALE.TRA(0;42949);4);"-";DECIMALE.HEX(CASUALE.TRA(0;4294967295);8);DECIMALE.HEX(CASUALE.TRA(0;42949);4))


para mí es correcto, en Excel español

=CONCATENAR( DEC.A.HEX(ALEATORIO.ENTRE(0,4294967295),8),"-", DEC.A.HEX(ALEATORIO.ENTRE(0,65535),4),"-", DEC.A.HEX(ALEATORIO.ENTRE(16384,20479),4),"-", DEC.A.HEX(ALEATORIO.ENTRE(32768,49151),4),"-", DEC.A.HEX(ALEATORIO.ENTRE(0,65535),4), DEC.A.HEX(ALEATORIO.ENTRE(0,4294967295),8) )


=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))


ESP: =CONCATENAR( DEC.A.HEX(ALEATORIO.ENTRE(0;4294967295);8);"-"; DEC.A.HEX(ALEATORIO.ENTRE(0;42949);4);"-"; DEC.A.HEX(ALEATORIO.ENTRE(0;42949);4);"-"; DEC.A.HEX(ALEATORIO.ENTRE(0;42949);4);"-"; DEC.A.HEX(ALEATORIO.ENTRE(0;4294967295);8); DEC.A.HEX(ALEATORIO.ENTRE(0;42949);4))