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,65535),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,65535)
, 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))