¿Cómo crear un GUID en Excel?

Necesito una función para añadir un GUID a las celdas en excel. He encontrado esta pregunta anterior en stackoverflow, pero no funciona. 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))

He sido incapaz de conseguir el método concatenar a trabajar, y así lo intentó utilizando el "&" figura para concatenar de todos modos. Eso parecía funcionar, pero luego me sale un error inexplicable en el segundo bloque DEX2HEX: DEC2HEX(RANDBETWEEN(0,65535),4). El evaluador de fórmulas de Excel dice que no es válida, pero no consigo averiguar por qué. ¿Alguna idea?

=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)
)
Comentarios (5)
Solución

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

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

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

Me costó un poco de trabajo, pero el problema está en copiar y pegar. Intenta copiar esto: RANDBETWEEN(0,65535) cadena, publicado en su pregunta original, y pegarlo en un editor hexadecimal, entonces usted'll ver 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)
Comentarios (2)