Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Determinar el RFC por medio de una fórmula.

6,399 views
Skip to first unread message

Elvira

unread,
Sep 1, 2009, 5:37:57 PM9/1/09
to
Buenas tardes. Quisiera ver si me pueden ayudar para determinar el RFC
(Registro Federal de Causantes), dado el nombre (nombre y apellidos en
diferentes celdas) y la fecha de nacimiento. Sé que es una fórmula
complicada, lo he intentado y no puedo.
Muchas gracias.

H�ctor Miguel

unread,
Sep 1, 2009, 6:19:59 PM9/1/09
to
hola, Elvira !

> Quisiera ver si me pueden ayudar para determinar el RFC (Registro Federal de Causantes)

> dado el nombre (nombre y apellidos en celdas) y la fecha de nacimiento.
> Se que es una formula complicada, lo he intentado y no puedo.

la siguiente direccion contiene un nombre "cautelosamente sugestivo" (troya)
pero (creo que) puedes visitarla sin mayores riesgos :))
-> http://curp.troyaestrategias.com/ecurp.htm
contiene enlaces para descargar una aplicacion de Francisco Javier C�rabez

tambien puedes obtener herramientas por separado (rfc/curp) desde la siguiente:
-> http://www.aplicarh.com/

no olvides que NO seria "oficial" lo que obtengas por los metodos anteriores :-((

saludos,
hector.


Elvira

unread,
Sep 1, 2009, 6:50:39 PM9/1/09
to
Hola Héctor!

Ya consulté lo que me dices. Pero la cuestión es que debo hacer el
cálculo en Excel. Mi problema principal es el siguiente: No encuentro
la fórmula para que del apellido paterno me tome la primera letra y
que la segunda letra sea la siguiente vocal. Esta puede estar en la
posición 2, 3, 4 o hasta 5 del apellido (Ej. Ambrosio). Intento hacer
la fórmula con "si", "eserror", "encontrar" y "extraer", pero me
pierdo en los paréntesis y las comas =(. En otras palabras, lo que me
falta es que el primer caracter del RFC es la primera letra del
apellido, y el segundo caracter del RFC es la siguiente vocal.
Sería mucho pedir que me ayudaras con eso? lo demás lo tengo, pero me
pierdo cada vez que intento obtener los dos primeros caracteres del
RFC.
Si crees que es demasiado complicado o tal vez ni siquiera se pueda,
pues ni modo, qué le voy a hacer.

Gracias, como siempre

H�ctor Miguel

unread,
Sep 1, 2009, 7:03:05 PM9/1/09
to
hola, Elvira !

> ... la cuestion es que debo hacer el calculo en Excel. Mi problema principal es el siguiente:
> No encuentro la formula para que del apellido paterno me tome la primera letra y... la siguiente vocal...
> ... (Ej. Ambrosio). Intento... con "si", "eserror", "encontrar" y "extraer", pero me pierdo en los parentesis y las comas =(.
> Seria mucho pedir que me ayudaras con eso? lo demas lo tengo ...

como determinas la "homoclave" ??? (es solo una duda a titulo personal) :D

- el nombre esta todo en una sola celda ?... o tienes columnas para nombres y apellidos ?
- por que no expones "las formulas" que has intentado ? (podrias estar muy cerca) ;)

saludos,
hector.


Elvira

unread,
Sep 1, 2009, 7:21:36 PM9/1/09
to
Hola Héctor!

Por supuesto, olvidé decir que no calculo la homoclave. Verás, es para
una tarea de una sobrina (que claro, ella debería hacerla), pero me
pidió ayuda y lo que pensé que sería muy fácil, se me volvió
complicado. A continuación te pongo la fórmula que tengo para los dos
primeros dígitos.

En B7 se encuentra el apellido paterno

=SI(ESERROR(ENCONTRAR(EXTRAE(B7,2,1),"AEIOU")),SI(ESERROR(ENCONTRAR
(EXTRAE(B7,3,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE
(B7,4,1),"AEIOU")),5),3),2)

Pero no me funciona. Le pongo los resultados 5, 3 y 2 que es el lugar
donde ubico a la vocal que va en la segunda posición del RFC. El No.
4, no sé por qué razón, siempre me aparece como FALSO. Ya
posteriormente complementaría mi fórmula si consiguiera ubicar bien el
lugar de la vocal.

Y ya había mencionado que el nombre y los apellidos están en diferente
celda, así que es más fácil.

Gracias!

Elvira

unread,
Sep 1, 2009, 8:09:22 PM9/1/09
to
Hola Héctor!

Finalmente me salió, aunque no me queda bien claro cómo funciona la
fórmula jeje. Le hablé a mi sobrina y le dije que ya estaba, y le
conté más o menos lo que había hecho, y me dijo que ni caso tenía que
se la enviara, que su maestra se había pasado, que no es posible ver
eso en un curso de computación básica, y lo mismo creo yo.

=EXTRAE(B7,1,1)&SI(ESERROR(ENCONTRAR(EXTRAE(B7,2,1),"AEIOU")),SI
(ESERROR(ENCONTRAR(EXTRAE(B7,3,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE
(B7,4,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE(B7,5,1),"AEIOU")),SI
(ESERROR(ENCONTRAR(EXTRAE(B7,3,1),"AEIOU")),0),EXTRAE(B7,5,1)),EXTRAE
(B7,4,1)),EXTRAE(B7,3,1)),EXTRAE(B7,2,1))&EXTRAE(C7,1,1)&EXTRAE(D7,1,1)
&"-"&DERECHA(TEXTO(AÑO(E7),"00"),2)&TEXTO(MES(E7),"00")&TEXTO(DIA
(E7),"00")


De cualquier modo, muchas gracias y por cierto, ya me bajé el
programita para calcular el RFC y la CURP, que está excelente!!

Saludos

Elvira

H�ctor Miguel

unread,
Sep 1, 2009, 8:34:35 PM9/1/09
to
hola, Elvira !

prueba tambien con la siguiente formula (solo para la parte de los dos caracteres del segundo apellido):
=izquierda(b7)&extrae(b7,coincidir(1,--esnumero(hallar({"a"\"e"\"i"\"o"\"u"},extrae(b7,2,50))),0)+2,1)

saludos,
hector.

__ OP __
> ... mi sobrina... me dijo... que su maestra se habia pasado
> que no es posible ver eso en un curso de computacion basica, y lo mismo creo yo.
>
> =EXTRAE(B7,1,1)&SI(ESERROR(ENCONTRAR(EXTRAE(B7,2,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE(B7,3,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE(B7,4,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE(B7,5,1),"AEIOU")),SI(ESERROR(ENCONTRAR(EXTRAE(B7,3,1),"AEIOU")),0),EXTRAE(B7,5,1)),EXTRAE(B7,4,1)),EXTRAE(B7,3,1)),EXTRAE(B7,2,1))&EXTRAE(C7,1,1)&EXTRAE(D7,1,1)&"-"&DERECHA(TEXTO(A�O(E7),"00"),2)&TEXTO(MES(E7),"00")&TEXTO(DIA(E7),"00")
>
> De cualquier modo, muchas gracias y por cierto, ya me baje el programita para calcular el RFC y la CURP, que est� excelente!!


Elvira

unread,
Sep 1, 2009, 8:59:09 PM9/1/09
to
Hola Héctor!

Estoy intentando usar la fórmula que me pasaste, pero me marca error
en las llaves { }, las cambio por paréntesis y ahora me marca error
en las diagonales invertidas \. Qué hago?

Muchas gracias

H�ctor Miguel

unread,
Sep 1, 2009, 9:27:54 PM9/1/09
to
hola, Elvira !

> Estoy intentando usar la formula que me pasaste, pero me marca error en las llaves { }
> las cambio por par�ntesis y ahora me marca error en las diagonales invertidas \. Que hago?

1) cambia la formula propuesta, la anterior presenta algunas inconsistencias, en su lugar usa esta:
=izquierda(b7)&extrae(b7,coincidir(1,--esnumero(coincidir(extrae(b7,fila(indirecto("2:15")),1),{"a"\"e"\"i"\"o"\"u"},0)),0)+1,1)

OJO: se convierte en formula matricial, al introducirla/editarla se debe confirmar pulsando ctrl + shift + enter

2) las llaves hacen referencia a matrices constantes (generalmente no debes cambiar por parentesis)
lo que podria ser diferente es el caracter que tu sistema use para indicar "filas" en matrices constantes
mi sistema usa la diagonal invertida (separador de rutas) es posibe que en tu sistema sea otro caracter (?)

prueba seleccionando "la celda" donde depositarias esta formula...
- abres el editor de vba (atajo de teclado: alt + F11)
- muestras la ventana de inmediato (atajo de teclado: ctrl + G)
- y en el panel de codigo de esta ventanita -> copia/pega lo siguiente (y pulsas enter para ejecutar)
activecell.formulaarray = "=left(b7)&mid(b7,match(1,--isnumber(match(mid(b7,row(indirect(""2:15"")),1),{""a"";""e"";""i"";""o"";""u""},0)),0)+1,1)"

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.


Elvira

unread,
Sep 1, 2009, 9:57:09 PM9/1/09
to
Hola Héctor!

Intenté hacer lo que me dices, pero en la celda me marca un error #N/
A. Y después intenté lo de la ventanita Inmediato, y al dar Enter me
marca un error 1004 "No se puede asignar la propiedad FórmulaArray de
la clase Range. Me puse a investigar en el help de mi Excel, y dice
que si mi sistema usa las comas (,) como separadores, entonces debere
usar las diagonales invertidas.

Agradezco mucho tu ayuda.

Saludos
Elvira

0 new messages