Largo

06/07/2006 - 19:18 por Enrique | Informe spam
Hola a todos..
tengo una columna en la que tengo que digitar varios numero de identidad en
cada fila, el numero a digitar es semejante a este 0506-120560-102-9, por lo
tanto el numero de caracteres es de 17, solo que el caracter 5,12 y 16,
necesito que sean guiones y los demas que sean numeros.
como podria hacerlo?

Preguntas similare

Leer las respuestas

#11 KL
08/07/2006 - 00:19 | Informe spam
Hola chicos,

Hay mas problemas con las formulas anteriores como por ejemplo el digito "e"
que podria colarse y que en ciertas posiciones se interpretaria como
notacion numerica cientifica (p.ej.: 9,6668e307 o bien 1e+25)

A ver esto:

=Y(CONTAR.SI(A2;"????-??????-???-?");ESNUMERO(--SUSTITUIR(A2;"-";""));ESERROR(HALLAR("e";A2));(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3)

o sea:

1) comprobamos el patron de 4-6-3-1
CONTAR.SI(A2;"????-??????-???-?")

2) comprobamos que los caracteres que no son los guiones son numeros (o "e")
ESNUMERO(--SUSTITUIR(A2;"-";"")

3) comprobamos que no hay "e"s
ESERROR(HALLAR("e";A2))

4) comprobamos que el numero de guiones es 3 (en el primer paso solo
comprobamos las posiciones)
(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3

Saludos,
KL


"Enrique" wrote in message
news:
cierto acabo de hacer mas pruebas, si yo por ejemplo digito por erron en
teclado numerico 1201-150*48-101-8 o algo similar me lo acepta. y eso es
lo
que yo no quiero que lo acepte, pero para extraer caracter por caracter no
se
como hacerlo. si tu pudieras ayudarme te lo agradeceria

"Gabriel Raigosa" escribió:

solo un comentario, los numeros ingresados son tomados como texto, por lo
cuan una entrada como

1234-1x3456-123-4

seria valida, para evitar el ingreso de "textos" y habria que extraer
caracter por caracter en la formulita

=Y(LARGO(EXTRAE(A1,1,4))=4,EXTRAE(A1,5,1)="-",LARGO(EXTRAE(A1,6,6))=6,EXTRAE(A1,12,1)="-",LARGO(EXTRAE(A1,13,3))=3,EXTRAE(A1,16,1)="-",LARGO(EXTRAE(A1,17,1))=1)

y verificar que si sea numero y no texto, es decir que el "Y" deberia
tener
17 extracciones, verificando 1 por 1 ademas de unas cuantas funciones
"=SI(", para comprobar que lo extraido este entre el rango 0 a 9 para los
numeros.

Para mi ya no es tan divertido hacer ese "mastodonte" de formula, les
dejo
la inquietud

Gabriel Raigosa
Medellín - Colombia

news://msnews.microsoft.com/
news://msnews.microsoft.com/microso...c.es.excel

"Enrique" escribió en el mensaje
news:
>
> Hola a todos..
> tengo una columna en la que tengo que digitar varios numero de
> identidad
> en
> cada fila, el numero a digitar es semejante a este 0506-120560-102-9,
> por
> lo
> tanto el numero de caracteres es de 17, solo que el caracter 5,12 y 16,
> necesito que sean guiones y los demas que sean numeros.
> como podria hacerlo?



Respuesta Responder a este mensaje
#12 ~ jose ~
08/07/2006 - 00:30 | Informe spam
Hola KL,
Has probado la fórmula que he propuesto?
es que la estoy probando poniendo la "e" y funciona perfectamente,
echale un vistazo, pero recuerda que tiene que está la celda "A2"
(según mi propuesta) con el formato personalizado de 0000-000000-000-0

Un saludo

PD: me alegro de hablar contigo otra vez.

KL wrote:
Hola chicos,

Hay mas problemas con las formulas anteriores como por ejemplo el digito "e"
que podria colarse y que en ciertas posiciones se interpretaria como
notacion numerica cientifica (p.ej.: 9,6668e307 o bien 1e+25)

A ver esto:

=Y(CONTAR.SI(A2;"????-??????-???-?");ESNUMERO(--SUSTITUIR(A2;"-";""));ESERROR(HALLAR("e";A2));(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3)

o sea:

1) comprobamos el patron de 4-6-3-1
CONTAR.SI(A2;"????-??????-???-?")

2) comprobamos que los caracteres que no son los guiones son numeros (o "e")
ESNUMERO(--SUSTITUIR(A2;"-";"")

3) comprobamos que no hay "e"s
ESERROR(HALLAR("e";A2))

4) comprobamos que el numero de guiones es 3 (en el primer paso solo
comprobamos las posiciones)
(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3

Saludos,
KL


"Enrique" wrote in message
news:
> cierto acabo de hacer mas pruebas, si yo por ejemplo digito por erron en
> teclado numerico 1201-150*48-101-8 o algo similar me lo acepta. y eso es
> lo
> que yo no quiero que lo acepte, pero para extraer caracter por caracter no
> se
> como hacerlo. si tu pudieras ayudarme te lo agradeceria
>
> "Gabriel Raigosa" escribió:
>
>> solo un comentario, los numeros ingresados son tomados como texto, por lo
>> cuan una entrada como
>>
>> 1234-1x3456-123-4
>>
>> seria valida, para evitar el ingreso de "textos" y habria que extraer
>> caracter por caracter en la formulita
>>
>> =Y(LARGO(EXTRAE(A1,1,4))=4,EXTRAE(A1,5,1)="-",LARGO(EXTRAE(A1,6,6))=6,EXTRAE(A1,12,1)="-",LARGO(EXTRAE(A1,13,3))=3,EXTRAE(A1,16,1)="-",LARGO(EXTRAE(A1,17,1))=1)
>>
>> y verificar que si sea numero y no texto, es decir que el "Y" deberia
>> tener
>> 17 extracciones, verificando 1 por 1 ademas de unas cuantas funciones
>> "=SI(", para comprobar que lo extraido este entre el rango 0 a 9 para los
>> numeros.
>>
>> Para mi ya no es tan divertido hacer ese "mastodonte" de formula, les
>> dejo
>> la inquietud
>>
>> Gabriel Raigosa
>> Medellín - Colombia
>>
>> news://msnews.microsoft.com/
>> news://msnews.microsoft.com/microso...c.es.excel
>>
>> "Enrique" escribió en el mensaje
>> news:
>> >
>> > Hola a todos..
>> > tengo una columna en la que tengo que digitar varios numero de
>> > identidad
>> > en
>> > cada fila, el numero a digitar es semejante a este 0506-120560-102-9,
>> > por
>> > lo
>> > tanto el numero de caracteres es de 17, solo que el caracter 5,12 y 16,
>> > necesito que sean guiones y los demas que sean numeros.
>> > como podria hacerlo?
>>
>>
>>
Respuesta Responder a este mensaje
#13 ~ jose ~
08/07/2006 - 01:01 | Informe spam
Hola de nuevo,
He modificado ligeramente la fórmula para que cuando la celda "A2"
esté vacia no aparezca el texto:
"No has introducido 14 números"
y asi de esta forma permanezca vacia.

=SI(ESBLANCO(A2);"";SI(T(A2)="";SI(LARGO(A2);"Código correcto";"No
has introducido 14 números");"Has introducido texto, ' Código
incorrecto '"))

Un saludo


~ jose ~ wrote:
Hola KL,
Has probado la fórmula que he propuesto?
es que la estoy probando poniendo la "e" y funciona perfectamente,
echale un vistazo, pero recuerda que tiene que está la celda "A2"
(según mi propuesta) con el formato personalizado de 0000-000000-000-0

Un saludo

PD: me alegro de hablar contigo otra vez.

KL wrote:
> Hola chicos,
>
> Hay mas problemas con las formulas anteriores como por ejemplo el digito "e"
> que podria colarse y que en ciertas posiciones se interpretaria como
> notacion numerica cientifica (p.ej.: 9,6668e307 o bien 1e+25)
>
> A ver esto:
>
> =Y(CONTAR.SI(A2;"????-??????-???-?");ESNUMERO(--SUSTITUIR(A2;"-";""));ESERROR(HALLAR("e";A2));(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3)
>
> o sea:
>
> 1) comprobamos el patron de 4-6-3-1
> CONTAR.SI(A2;"????-??????-???-?")
>
> 2) comprobamos que los caracteres que no son los guiones son numeros (o "e")
> ESNUMERO(--SUSTITUIR(A2;"-";"")
>
> 3) comprobamos que no hay "e"s
> ESERROR(HALLAR("e";A2))
>
> 4) comprobamos que el numero de guiones es 3 (en el primer paso solo
> comprobamos las posiciones)
> (LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3
>
> Saludos,
> KL
>
>
> "Enrique" wrote in message
> news:
> > cierto acabo de hacer mas pruebas, si yo por ejemplo digito por erron en
> > teclado numerico 1201-150*48-101-8 o algo similar me lo acepta. y eso es
> > lo
> > que yo no quiero que lo acepte, pero para extraer caracter por caracter no
> > se
> > como hacerlo. si tu pudieras ayudarme te lo agradeceria
> >
> > "Gabriel Raigosa" escribió:
> >
> >> solo un comentario, los numeros ingresados son tomados como texto, por lo
> >> cuan una entrada como
> >>
> >> 1234-1x3456-123-4
> >>
> >> seria valida, para evitar el ingreso de "textos" y habria que extraer
> >> caracter por caracter en la formulita
> >>
> >> =Y(LARGO(EXTRAE(A1,1,4))=4,EXTRAE(A1,5,1)="-",LARGO(EXTRAE(A1,6,6))=6,EXTRAE(A1,12,1)="-",LARGO(EXTRAE(A1,13,3))=3,EXTRAE(A1,16,1)="-",LARGO(EXTRAE(A1,17,1))=1)
> >>
> >> y verificar que si sea numero y no texto, es decir que el "Y" deberia
> >> tener
> >> 17 extracciones, verificando 1 por 1 ademas de unas cuantas funciones
> >> "=SI(", para comprobar que lo extraido este entre el rango 0 a 9 para los
> >> numeros.
> >>
> >> Para mi ya no es tan divertido hacer ese "mastodonte" de formula, les
> >> dejo
> >> la inquietud
> >>
> >> Gabriel Raigosa
> >> Medellín - Colombia
> >>
> >> news://msnews.microsoft.com/
> >> news://msnews.microsoft.com/microso...c.es.excel
> >>
> >> "Enrique" escribió en el mensaje
> >> news:
> >> >
> >> > Hola a todos..
> >> > tengo una columna en la que tengo que digitar varios numero de
> >> > identidad
> >> > en
> >> > cada fila, el numero a digitar es semejante a este 0506-120560-102-9,
> >> > por
> >> > lo
> >> > tanto el numero de caracteres es de 17, solo que el caracter 5,12 y 16,
> >> > necesito que sean guiones y los demas que sean numeros.
> >> > como podria hacerlo?
> >>
> >>
> >>
Respuesta Responder a este mensaje
#14 KL
08/07/2006 - 01:04 | Informe spam
Hola jose,

Has probado la fórmula que he propuesto?
es que la estoy probando poniendo la "e" y funciona perfectamente,
echale un vistazo, pero recuerda que tiene que está la celda "A2"
(según mi propuesta) con el formato personalizado de 0000-000000-000-0



Aunque no me referia a tu formula al escribir mi mensaje anterior (porque no
cumplia con la condicion establecida por Enrique de que los guiones se
tenian que introducir a mano ), prueba hacer lo siguiente:

1) introduce el valor: 22223345199222
2) sustituye el penultimo digito por una "e": 222233451992e2
o/y
3) sustituye el primer digito por un guion: -2223345199222
o/y
4) empieza el numero por uno o mas ceros: 02223345199222

PD: me alegro de hablar contigo otra vez.



Igualmente.

Saludos,
KL
Respuesta Responder a este mensaje
#15 KL
08/07/2006 - 01:18 | Informe spam
Tampoco estaba la mia a prueba de todas, aqui va una mejorada:

1) para Validacion

=Y(CONTAR.SI(A2;"????-??????-???-?");ESNUMERO(--SUSTITUIR(A2;"-";""));ESERROR(HALLAR("e";A2));ESERROR(HALLAR(".";A2));ESERROR(HALLAR(",";A2));(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3)

2) para uso en celdas:

=Y(CONTAR.SI(A2;"????-??????-???-?");ESNUMERO(--SUSTITUIR(A2;"-";""));SUMAPRODUCTO(--ESERROR(HALLAR({"e"\"."\","};A2)))=3;(LARGO(A2)-LARGO(SUSTITUIR(A2;"-";"")))=3)

Saludos,
KL


"KL" wrote in message
news:
Hola jose,

Has probado la fórmula que he propuesto?
es que la estoy probando poniendo la "e" y funciona perfectamente,
echale un vistazo, pero recuerda que tiene que está la celda "A2"
(según mi propuesta) con el formato personalizado de 0000-000000-000-0



Aunque no me referia a tu formula al escribir mi mensaje anterior (porque
no cumplia con la condicion establecida por Enrique de que los guiones se
tenian que introducir a mano ), prueba hacer lo siguiente:

1) introduce el valor: 22223345199222
2) sustituye el penultimo digito por una "e": 222233451992e2
o/y
3) sustituye el primer digito por un guion: -2223345199222
o/y
4) empieza el numero por uno o mas ceros: 02223345199222

PD: me alegro de hablar contigo otra vez.



Igualmente.

Saludos,
KL

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida