Arquivo da tag: GUID

Excel – Gerando GUIDs sem VBA

Sim, é possível!

Para você que nunca ouviu falar, um GUID (se já sabe ou não quer saber, vá para o final do artigo) ou Identificador Universal Único (do inglês Global Unique IDentifier) é uma valor de 128 bits representado por uma cadeia de texto de caracteres alfa numéricos. Mas pra que isso?

Há varias razões para você querer um identificador desse tipo. Lhe darei estas:

  • Um identificador único dentro de um contexto ou universo que seja difícil de repetir
  • Um identificador que seja difícil de memorizar
  • Um identificador que em nada se relacione com o que ele está identificando

Poderia citar outras. O fato é que uma hora ou outra, ele se tornará interessante para você algum dia. Então, porque não gerá-lo no Excel? Sim, é possível. A fórmula não é simples, mas você não precisa dominá-la, só saber que existe e fazer proveito:

=CONCATENAR(DECAHEX(ALEATÓRIOENTRE(0;4294967295);8);"-";DECAHEX(ALEATÓRIOENTRE(0;42949);4);"-";DECAHEX(ALEATÓRIOENTRE(0;42949);4);"-";DECAHEX(ALEATÓRIOENTRE(0;42949);4);"-";DECAHEX(ALEATÓRIOENTRE(0;4294967295);8);DECAHEX(ALEATÓRIOENTRE(0;42949);4))

É bem isso mesmo, mas funciona! É claro que não tirei isso do nada. Este post no stackoverflow dá a dica. E mais, coloca a fórmula em vários outros idiomas!

Em inglês:

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

Em espanhol:

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

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

Em alemão (feio demais, eu sei):

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

Em holandês:

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

Ufa! Se precisar da fórmula em mais algum idioma, bem… se vira aí!

😉