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

Problema con la función EXTRAE()

1,391 views
Skip to first unread message

Alex

unread,
Oct 19, 2008, 9:04:28 PM10/19/08
to
Hola a todos, tengo el siguiente problema:

En la celda C2 tengo un valor (693) y en la celda D2, E2 y F2 quiero
descomponer C2 por su centena, decena y unidad respectivamente.

Intento utilizar la fórmula =EXTRAE(C2:1:1) para el caso de D2, sin
embargo no me permite y me muestra un mensaje que dice "Ha
especificado muy pocos argumentos para esta función. Para obtener
ayuda..." ...les pregunto a ustedes ;)

No entiendo que argumento falta. Muchas gracias desde ya.

Ivan

unread,
Oct 19, 2008, 9:59:51 PM10/19/08
to
hola Alex,

> Intento utilizar la fórmula =EXTRAE(C2:1:1)

> ......no me permite y me muestra un mensaje que dice "Ha


> especificado muy pocos argumentos para esta función.

>... No entiendo que argumento falta. Muchas gracias desde ya.


a mi me funciona sin problemas

¿que separador de argumentos estas usando?

desde 'aqui' visto da la impresion de que estas usando los 2 puntos
[:]. Si es asi, creo que lo que realmente estarias haciendo es pasar
solo el primer argumento de la funcion, que seria el valor de la celda
dividido doblemente por 1 [o 2 o 3] y por 1

deberias comprobar cual es tu separador de argumentos en formulas de
hoja y cambiar dichos puntos por el que corresponda

pej. en mi caso el separador es el punto y coma [;], pero si no me
equivoco tambien puede ser la coma (y no se si alguno mas, pero me da
la impresion de que los dos puntos no esta entre ellos)

solo por si acaso

un saludo
Ivan

Alex

unread,
Oct 20, 2008, 9:11:25 AM10/20/08
to
Mi Excel utiliza los dos puntos [:] como separador de argumentos, si
pongo coma [,] o punto y coma [;] me da error. El problema no creo que
esté ahí. Igualmente intenté cambiar el separador de argumentos porque
estaba habituado a utilizar el punto y coma con Excel 2003 y desde que
instalé Excel 2007 tengo que utilizar los dos puntos, cosa que me
molesta. ¿Donde cambio eso? Gracias.

Alex

unread,
Oct 20, 2008, 9:34:28 AM10/20/08
to
Ivan, ya lo solucioné.

Para los que les pase lo mismo:

El problema estaba en el Separador de listas del sistema, que es el
carácter que utiliza Excel como separador de argumentos. Mi sistema
tenía los dos puntos como Separador de listas y parece ser (por mi
experiencia al menos) que Excel (al menos el mío) tiene problemas al
utilizar los dos puntos como separador de argumentos. Lo curioso es
que no ocurre con todas las funciones, en mi caso sólo con aquellas
que utilizan más de un argumento. Desconozco el porqué. Igualmente,
supongo que te interesará más la solución...

pues bien, aquí está, ve a...

Panel de control/
Configuración regional y de idioma/
Pestaña Opciones regionales/
Pestaña Personalizar/
y allí cambia el carácter que aparece en Separador de listas. Acepta y
listo.

A no preocuparse por los caracteres ya utilizados en las fórmulas de
Excel, se actualizaran automáticamente.

Saludos a todos y gracias Ivan.

Alex

unread,
Oct 20, 2008, 10:00:33 AM10/20/08
to
Bueno, lo solucioné a medias o, mejor dicho, me surgió un nuevo
problema.

Cuando en la columna C aparece un número con centena igual a 0 (Por
ej.: 010) la función Extrae() no se comporta como yo esparaba. Dado
que Excel no tiene en cuenta la centena cuando ésta es 0 (y muestra
10), para Extrae() el primer carácter pasa a ser el 1 de la decena por
lo que en la columna D (la de la centena) me muestra 1 y no 0, la
columna E (de la decena) me muestra 0 y no 1 y la columna F (de la
unidad) me muestra #¡VALOR! (obviamente).

He intentado formateando C de manera que me muestre 010 pero no
funciona, es sólo formateo visual y ahí sigue sin haber carácter
alguno para Extrae(). ¿Cómo lo soluciono?

Boris

unread,
Oct 20, 2008, 10:31:29 AM10/20/08
to
Hola Alex.

La verdad no entiendo tu complicación. Si los datos que manejas en C2
son numéricos, en todas partes del mundo 010 es 10, 0010 sigue siendo
10, por lo tanto si vas a extraer el primer número, obviamente que es
el 1. Si tu número es 1010 y quieres extraer el segundo, la funcuón
extrae te trae el 0. Si entiendo lo que quieres hacer, creo que te
conviene ingresar los valores en C2 como texto, porque como número,
con cualquier fórmula te va a dar el mismo resultado.

Si algo comentas.

Saludos

Boris Marx

Alex

unread,
Oct 20, 2008, 10:44:22 AM10/20/08
to
Lo que necesito es descomponer el número en su respectiva centena,
decena y unidad. El problema es que cuando la centena es 0 Extraer()
no la toma en cuenta, ya se que es porque la centena 0 no existe (por
ser 0). Le dí formato de texto al número original de 3 cifras de modo
que muestre 010 (por ejemplo) y no 10 pero =Extrae(C2;1;1) tampoco me
muestra 0 para la centena sino 1, al igual que si el valor fuera de
tipo número y no de tipo texto.

En resúmen, quizá haya otro método que no sea utilizando Extraer()
pero dada la gran cantidad de valores que maneja la planilla quería
utilizar el método menos complejo y me pareció que Extraer() era
práctico y 'liviano'.

vitobacon

unread,
Oct 20, 2008, 11:27:26 AM10/20/08
to
Hola, Alex.
He estado mirando el otro hilo (con Iván y Boris)
A lo mejor te vale esta solución.
Te la expongo para el caso de que trabajes con números hasta el 999.
Si quisieras incluír números de 4 dígitos o más habría que reescribir las
fórmulas.

Te escribo lo que has de poner en cada celda:

A1 -> tu número (de 0 a 999)
B1 -> =cociente(A1;100) (aquí se almacena la centena)
C1 -> =cociente(A1;10) - B1*10 (aquí se almacena la decena)
D1 -> =A1 - (B1*100 + C1*10) (aquí se almacena la unidad)

A lo mejor es un poco chapucero, pero parece que funciona.
Un saludo.
Álvaro

(Responde con tus opiniones o comentarios, gracias)

-----------------------------------------------------

"Alex" <canepa.a...@gmail.com> escribió en el mensaje
news:095982d7-1079-40b8...@2g2000hsn.googlegroups.com...

Boris

unread,
Oct 20, 2008, 11:33:49 AM10/20/08
to
Hola Alex.

Si tienes establecido la celda o la columna como texto, la función
extrae() te debería funcionar, por que la función te devuelve es el
caracter de la posición que tu definas. Otra cosa que debes mirar es
si al convertir la celda o columna a texto, te conserve el formato con
los ceros a la izquierda, porque normalmente al pasar a texto números
con formato personalizado, este formato se pierde.

Además, si tienes cifras del mismo tamaño en la columna, ejemplo tres
dígitos, podrías usar la opción de texto en columnas, y separar los
datos por ancho fijo.

Saludos.

Boris Marx

Alex

unread,
Oct 20, 2008, 2:35:16 PM10/20/08
to
Boris, tienes razón. No se porqué no funcionaba, probé en una celda
'limpia' con varlor de tipo texto '012' y funciona. Sin embargo, la
solución de Vitobacon es más adecuada porque trabajo directamente con
los valres numéricos sin necesidad de conversiones.

A todos gracias.

Ivan

unread,
Oct 20, 2008, 8:53:20 PM10/20/08
to
hola Alex,

aunque nunca he conseguido 'memorizar' las diferentes posibilidades de
separadores [y en el caso de la version 2007 la verdad es que ni
siquiera he visto su interface], justo con los 2 puntos hubiese jurado
que no seria valido para separar argumentos. Pero por lo que se ve si
debe ser posible. Sorry por mi comentario.

en cuanto al problema que palnteas mas adelante sobre los ceros a la
izquierda, creo que otra posibilidad podria ser esta =>

en D2 -> =si(c2<100;"0";izquierda(c2;1))
en E2-> =si(c2<10;"0";extrae(c2;largo(c2)-1;1))
en F2-> =si(c2=0;"0";derecha(c2;1))

aunque seguro que muy simplificables (OJO mi separador es el punto y
coma, y no estan probadas)

un saludo
Ivan

danitos13

unread,
Jan 2, 2009, 10:13:01 PM1/2/09
to
Yo resolví ese problema asi:
si en c2:
693

en d2 puse:
=ENTERO(C2/100) donde me queda 6

en e2 puse:
=ENTERO(C2/10-D2*10) donde me queda 9

y en f2 para la unidad puse:
=RESIDUO(C3;10) donde me queda 3

Tambien funciona por ejemplo para el 001 ó 011

0 new messages