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

#31 ~ jose ~
09/07/2006 - 22:30 | Informe spam
Hola,
Ya me habia dado cuenta de que el "0" como primer carácter del código
daba FALSO, he quitado la parte en que convierte el numero a entero y
funciona "bien" lo que pasa uqe si se ponen comas o puntos... en fin,
eso no vale.

Lo que se me ha ocurrido es que habria que contar los "0" existentes
desde la izq hasta llegar a un numero mayor que cero y al final de la
fórmula, donde compara con "14" tendria que comparar con "14" menos
los "0" encontrados.

Llevo un rato intentando hacer esta modificación pero por mi
inexperiancia no se hacerla.
Os dejo esta idea porqeu ahora mismo me voy a cenar, ;)) que os parece?

Un saludo,
jose


Héctor Miguel wrote:
hola [de nuevo], chicos !

> KL escribio en el mensaje ...

[hm] >> a) una 'redundancia'...
> ... el patron solo se ocupa de las posiciones 5,12 y 16... guiones en otras posiciones... se daran por validos
> ... La parte que mide la longitud asegura que no solo esten en su sitio sino que solamente sean 3.

[hm] >> b) una 'fuga'...
> Tienes razon :-)
>> =y(contar.si(a2,"????-??????-???-?"),esnumero(--sustituir(a2,"-","")),si(esnumero(--sustituir(a2,"-","")),largo(entero(--sustituir(a2,"-","")))))
> Me quedo con esta.

1) en cuanto a la 'redundancia'...
asi lo entendi, por eso el comentario de: '[independientemente de que tipo de caracteres fueran los 14 restantes]'

2) en cuanto a la 'fuga'...
existe aun [incluso en la propuesta modificada] OTRA 'fuga', relacionada con la 'cuenta' de 14 caracteres numericos
el 'ejemplo practico' es el ejemplo que expone OP en su primer mensaje cuando se refiere al 'tipo' de entrada que se hara...
-> 0506-120560-102-9
-> donde el cero [o si existen dos o mas 'ceros' seguidos en el 'patron' numerico] AL INICIO <= OJO...
a) se omite/n por la sustitucion de los guiones -> --sustituir(a2,"-","") [y por lo tanto]...
b) se debiera/n EXCLUIR EN la 'cuenta' de los 14 caracteres-numericos 'restantes'
es decir... 14 caracteres numericos... MENOS... ??? [cuantos ceros iniciales en el 'patron'] -?-

3) opciones ? [creo que la respuesta... 'sigue en el aire'... pero]... algunas ideas...
considerando que las constantes no son 'permitidas' en formulas para criterios de las reglas de validacion :-((
a) utilizar una celda contigua para la 'validacion'
b) usar nombres definidos -> cuidando el largo de la formula [por la referencia a la celda y el -posible- uso de constantes] ;)

saludos,
hector.
Respuesta Responder a este mensaje
#32 Héctor Miguel
09/07/2006 - 23:15 | Informe spam
hola, jose !

Ya me habia dado cuenta de que el "0" como primer caracter del codigo daba FALSO
he quitado la parte en que convierte el numero a entero y funciona "bien"
lo que pasa uqe si se ponen comas o puntos... en fin, eso no vale.
... habria que contar los "0"... desde la izq hasta llegar a un numero mayor que cero
y al final de la formula... tendria que comparar con "14" menos los "0" encontrados.
Llevo un rato intentando hacer esta modificacion pero... no se hacerla.
Os dejo esta idea porqeu ahora mismo me voy a cenar, ;)) que os parece?



prueba con la siguiente formula [ya sea en celda o en las reglas de validacion]...
=y(contar.si(a2,"????-??????-???-?"),sumaproducto(--esnumero(--extrae(sustituir(a2,"-",""),fila(indirecto("1:17")),1))))

solo te recuerdo que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

saludos,
hector.
Respuesta Responder a este mensaje
#33 ~ jose ~
10/07/2006 - 00:35 | Informe spam
Hola,
Bueno, pues creo que al final Enrique ya tiene su problema resuelto,
menudo hilo eh!!!
Ahora por intentar comprender hasta el fianal esta fórmula (por
aprender, sin más), me puedes explicar que hace:

FILA(INDIRECTO("1:17"))

He estado leyendo la ayuda de las funciones FILA y INDIRECTO y no
consigo comprender el funcionamiento del conjunto de esta formula, pero
lo que menos entiendo es de donde has sacado "1:17" y porque si cambias
el "17" por otro numero (he hecho varias pruebas) sigue funcionando
igual, pero si cambias el "1" por el "2", deja de funcionar.

Un saludo,
jose


Héctor Miguel wrote:
hola, jose !

> Ya me habia dado cuenta de que el "0" como primer caracter del codigo daba FALSO
> he quitado la parte en que convierte el numero a entero y funciona "bien"
> lo que pasa uqe si se ponen comas o puntos... en fin, eso no vale.
> ... habria que contar los "0"... desde la izq hasta llegar a un numero mayor que cero
> y al final de la formula... tendria que comparar con "14" menos los "0" encontrados.
> Llevo un rato intentando hacer esta modificacion pero... no se hacerla.
> Os dejo esta idea porqeu ahora mismo me voy a cenar, ;)) que os parece?

prueba con la siguiente formula [ya sea en celda o en las reglas de validacion]...
=y(contar.si(a2,"????-??????-???-?"),sumaproducto(--esnumero(--extrae(sustituir(a2,"-",""),fila(indirecto("1:17")),1))))

solo te recuerdo que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

saludos,
hector.
Respuesta Responder a este mensaje
#34 Gabriel Raigosa
10/07/2006 - 04:56 | Informe spam
Saludos:

He hecho algunas pruebas con esta parte de la funcion

=SUMAPRODUCTO(--ESNUMERO(--EXTRAE(SUSTITUIR(A2,"-",""),FILA(INDIRECTO("1:17")),1)))

lo que se pretende es un conteo de "numeros"

entonces se puede simplificar la validacion de esta manera.

=Y(CONTAR.SI(A2,"????-??????-???-?"),SUMAPRODUCTO(--ESNUMERO(--EXTRAE(A2,FILA(INDIRECTO("1:17")),1))))

la primera parte es para asegurarse de que el ingreso tenga el formato
adecuado;

CONTAR.SI(A2,"????-??????-???-?")

la segunda para verificar que sean 14 numeros
SUMAPRODUCTO(--ESNUMERO(--EXTRAE(A2,FILA(INDIRECTO("1:17")),1)))

-
el asunto es "Largo", y el post resulto +"largo"

Gabriel Raigosa
Medellín - Colombia

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

"Héctor Miguel" escribió en el mensaje
news:
hola, jose !

Ya me habia dado cuenta de que el "0" como primer caracter del codigo
daba FALSO
he quitado la parte en que convierte el numero a entero y funciona "bien"
lo que pasa uqe si se ponen comas o puntos... en fin, eso no vale.
... habria que contar los "0"... desde la izq hasta llegar a un numero
mayor que cero
y al final de la formula... tendria que comparar con "14" menos los "0"
encontrados.
Llevo un rato intentando hacer esta modificacion pero... no se hacerla.
Os dejo esta idea porqeu ahora mismo me voy a cenar, ;)) que os parece?



prueba con la siguiente formula [ya sea en celda o en las reglas de
validacion]...
=y(contar.si(a2,"????-??????-???-?"),sumaproducto(--esnumero(--extrae(sustituir(a2,"-",""),fila(indirecto("1:17")),1))))

solo te recuerdo que mi sistema usa como separador de argumentos a la coma
',' NO al punto y coma ';' :D

saludos,
hector.

Respuesta Responder a este mensaje
#35 Gabriel Raigosa
10/07/2006 - 05:05 | Informe spam
Segun cuentas este es el resultado.

=Y(CONTAR.SI(A2,"????-??????-???-?"),SUMAPRODUCTO(--ESNUMERO(--EXTRAE(A2,FILA(INDIRECTO("1:17")),1))))

?????

O se puede hacer algo mas corto

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
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida