En este tutorial vamos a aprender a generar y validar códigos únicos en Google Sheets utilizando funciones avanzadas como REGEXEXTRACT, REGEXMATCH, SUMAPRODUCTO y SECUENCIA. Estos códigos pueden servir para identificar productos, validar RFC en México o validar el NIT en Colombia, entre otros usos. Además, te mostraré cómo construir estas fórmulas paso a paso para que puedas replicarlas y adaptarlas a tus necesidades, mejorando tus habilidades en Google Sheets.
Generar códigos únicos con REGEXEXTRACT en Google Sheets
Para generar un código único, por ejemplo, un SKU para productos, podemos combinar partes de textos como el nombre de la empresa, el ítem, la categoría y el país de origen. En lugar de usar funciones básicas como IZQUIERDA, DERECHA o EXTRAER, usaremos REGEXEXTRACT que es más flexible y potente para extraer patrones específicos de texto.
REGEXEXTRACT tiene dos argumentos: el texto de donde extraemos y el patrón que queremos extraer, que es una expresión regular. Por ejemplo, para extraer las dos primeras letras del nombre de una empresa, usamos esta fórmula:
=REGEXEXTRACT(A2;"^\w{2}")
Aquí, ^\w{2} significa que queremos extraer las primeras dos letras o números al inicio del texto (el símbolo ^ indica el inicio). La \w representa cualquier carácter alfanumérico (letras o números) y {2} indica que queremos exactamente dos caracteres.
Para extraer las tres primeras letras de la primera palabra de un ítem, usamos:
=REGEXEXTRACT(B2;"^\w{3}")
Si queremos extraer la primera letra de la segunda palabra del ítem, podemos buscar el espacio y luego extraer una letra justo después:
=REGEXEXTRACT(B2;"\s(\w)")
El patrón \s(\w) busca un espacio (\s) seguido de un carácter alfanumérico (\w), y gracias a los paréntesis extrae solo esa letra.
Para las dos primeras letras de la categoría, usamos la misma lógica que para la empresa:
=REGEXEXTRACT(C2;"^\w{2}")
Y para las dos últimas letras de la categoría, cambiamos el patrón para que extraiga al final del texto:
=REGEXEXTRACT(C2;"\w{2}$")
Finalmente, para extraer la tercera letra del país, usamos un patrón que extrae la letra en la posición tres:
=REGEXEXTRACT(D2;"^\w{2}(\w)")
Luego, unimos todos estos fragmentos con guiones para formar el código SKU completo:
=MAYUSC(REGEXEXTRACT(A2;"^\w{2}") & REGEXEXTRACT(B2;"^\w{3}") & REGEXEXTRACT(B2;"\s(\w)") & "-" & REGEXEXTRACT(C2;"^\w{2}") & REGEXEXTRACT(C2;"\w{2}$") & "-" & REGEXEXTRACT(D2;"^\w{2}(\w)"))
Esta fórmula genera un código único basado en las partes que mencionamos, todo en mayúsculas para estandarizarlo.
Generar y validar RFC mexicano con fórmulas
El RFC para personas físicas en México tiene una estructura muy específica: cuatro letras, seis números (fecha de nacimiento en formato AAMMDD) y tres caracteres alfanuméricos adicionales. Podemos generar el RFC con fórmulas, y también validar su estructura.
Por ejemplo, para extraer la primera letra del apellido paterno:
=REGEXEXTRACT(A2;"^[A-Z]")
Para extraer la primera vocal del apellido paterno (que puede estar en cualquier posición), usamos:
=REGEXEXTRACT(A2;"[AEIOU]")
Luego extraemos la primera letra del apellido materno y la primera letra del nombre con fórmulas similares.
Para la fecha de nacimiento, convertimos la fecha en texto con formato «AAMMDD» usando la función TEXTO:
=TEXTO(B2;"aa/mm/dd")
Finalmente, unimos todo con CONCATENAR o el operador &, y si quieres puedes agregar los tres caracteres alfanuméricos al final.
Para validar que un RFC tenga la estructura correcta, usamos REGEXMATCH con esta expresión regular:
=REGEXMATCH(E2;"^[A-Z]{4}-\d{6}-\w{3}$")
Esta fórmula devuelve VERDADERO si el RFC cumple con el patrón: cuatro letras mayúsculas, un guion, seis números, un guion y tres caracteres alfanuméricos.
Validar NIT colombiano con SUMAPRODUCTO y SECUENCIA
El NIT en Colombia tiene nueve dígitos más un dígito de verificación calculado con una fórmula específica basada en multiplicaciones y módulo 11. Te mostraré cómo validar este dígito con funciones de Google Sheets.
Primero, separamos los nueve dígitos del NIT con la función SPLIT y luego los multiplicamos por una secuencia de números específicos (41, 37, 29, etc.). Usamos SECUENCIA para generar índices y EXTRAER para obtener cada dígito:
=SECUENCIA(1;9;1;0)
Luego, con SUMAPRODUCTO multiplicamos cada dígito por su factor correspondiente y sumamos los resultados:
=SUMAPRODUCTO(matriz_dígitos; matriz_factores)
Después, calculamos el módulo 11 con la función RESIDUO:
=RESIDUO(suma; 11)
Finalmente, aplicamos la regla para obtener el dígito de verificación:
=SI(resultado <= 1; resultado; 11 - resultado)
Si el dígito calculado coincide con el dígito de verificación del NIT, entonces el NIT es válido.
Validar códigos con validación de datos en Google Sheets
Además de mostrar en una columna si un código es válido, podemos usar la validación de datos para que Google Sheets nos avise si el código ingresado no cumple con la estructura correcta. Para esto, en el menú Datos > Validación de datos, elegimos «Fórmula personalizada» y pegamos la fórmula REGEXMATCH que valida el patrón.
Así, si el usuario ingresa un código mal formado, Google Sheets mostrará un aviso y evitará errores en la base de datos.
Conclusión
En este tutorial vimos cómo generar códigos únicos combinando partes de textos con la función REGEXEXTRACT, cómo construir y validar un RFC mexicano con fórmulas, y cómo validar un NIT colombiano con funciones avanzadas como SUMAPRODUCTO y SECUENCIA. También aprendimos a usar la validación de datos para asegurar que los códigos ingresados cumplan con las reglas definidas.
Estos métodos te ayudarán a automatizar la creación y validación de códigos en tus hojas de cálculo, evitando errores y facilitando la gestión de productos, clientes o documentos oficiales.
Como próximo paso, te recomiendo profundizar en el uso de expresiones regulares y funciones avanzadas de Google Sheets para sacarle aún más provecho a tus datos.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.