operar ultimo numero digitado

05/06/2006 - 06:03 por Heriberto Martínez Roa | Informe spam
Se tiene doce celdas contiguas para entrar los datos de cada mes (enero, feb
... dic), el asunto es que en otra celda siempre debo realizar una operación
con el numero del mes correspondiente, por ejemplo si se digita en la celda
b3 el dato de enero, entonces en la celda N3 se debe calcular un porcentaje
con respecto al esterado anual, pero cuando se digite en la celda C3 valor
correspondiente a Febrero, la formula debe tomar ese valor y no el de enero
y así hasta que se digite el valor de diciembre, además si se deja de
digitar el valor de un mes por ejemplo marzo, pero si se digita el de abril,
la formula debe tomar el de abril y no otro.

gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/06/2006 - 06:23 | Informe spam
hola, Heriberto !

... doce celdas contiguas para entrar los datos de cada mes (enero, feb... dic)
... en otra celda siempre debo realizar una operacion con el numero del mes correspondiente
... si se digita en... b3 el dato de enero... N3... debe calcular un porcentaje con respecto al esperado anual
... cuando se digite en... C3 valor... Febrero, la formula debe tomar ese valor y no el de enero
... si se deja de digitar el valor de un mes por ejemplo marzo, pero si se digita el de abril... debe tomar el de abril y no otro.



1) la siguiente formula te dice cual de las columnas [B a M] es la que contiene 'el ultimo' dato ingresado...
=coincidir(9E+307,b3:m3)
si devuelve 1, correspondera a la columna 'B' [o... enero ?] y asi sucesivamente hasta 12 ['M' - diciembre ?] ;)

2) si necesitas 'rescatar' el valor que contenga 'la ultima celda/columna' CON datos numericos ingresados, usa la siguiente:
=indice(b3:m3,,coincidir(9E+307,b3:m3))

3) lo que 'tengas que hacer'... [despues] con un dato u otro... dependera de 'como' necesites 'calcular' los porcentajes ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

p.d. solo toma en cuenta que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D
Respuesta Responder a este mensaje
#2 KL
05/06/2006 - 17:35 | Informe spam
Hola chicos,

"Héctor Miguel" wrote

2) si necesitas 'rescatar' el valor que contenga 'la ultima celda/columna' CON datos numericos ingresados, usa la siguiente:
=indice(b3:m3,,coincidir(9E+307,b3:m3))



1) si se trata de un rango unidimensional, creo que el segundo separador de argumentos en la funcion INDICE sobra:

=indice(b3:m3,coincidir(9E+307,b3:m3))

2) la formula me parece que se podria acortar de la siguiente manera sin alterar el rendimiento:

=BUSCAR(9E+307,b3:m3)

Saludos,
KL
Respuesta Responder a este mensaje
#3 Heriberto Martinez Roa
05/06/2006 - 23:01 | Informe spam
Solo me queda decirles que estoy inmensamente agradecido por la pronta y
efectiva respuesta; ya con la respuesta que Hector me envio en un comienzo
pude resolver la situacion, aunque tambien quiero probar la sugerencia de
Kl., por ultimo saber porque se utiliza 9e+307, ya que busque la ayuda sobre
la funcion indice y sobre la funcion coincidir pero no informa nada sobre
esto.

Gracias nuevamente

"KL" escribio en el mensaje
news:
Hola chicos,

"Héctor Miguel" wrote

2) si necesitas 'rescatar' el valor que contenga 'la ultima celda/columna'
CON datos numericos ingresados, usa la siguiente:
=indice(b3:m3,,coincidir(9E+307,b3:m3))



1) si se trata de un rango unidimensional, creo que el segundo separador de
argumentos en la funcion INDICE sobra:

=indice(b3:m3,coincidir(9E+307,b3:m3))

2) la formula me parece que se podria acortar de la siguiente manera sin
alterar el rendimiento:

=BUSCAR(9E+307,b3:m3)

Saludos,
KL
Respuesta Responder a este mensaje
#4 KL
05/06/2006 - 23:30 | Informe spam
Hola Heriberto,

...saber porque se utiliza 9e+307, ya que busque la ayuda sobre
la funcion indice y sobre la funcion coincidir pero no informa nada sobre
esto.



Esta solucion se basa en un comportamiento no documentado de las funciones de busqueda aproximada (COINCIDIR con el 3r parametro 1, -1,VERDADERO o vacio; BUSCARV y BUSCARH con el 4o parametro 1,VERDADERO u vacio; BUSCAR). Al no encontrar el valor numerico buscado dichas funciones devueleven el ultimo valor numerico en el rango de busqueda. Lo mismo ocurre con las cadenas de texto - si el texto buscado no se encuentra la funcion devolvera el ultimo texto del rango de busqueda. Aprovechando este comportamiento, se utilizan los valores que por definicion son imposibles de encontrar en el rango buscado, p.ej.:

Para encontrar el ultimo valor numerico usamos 9E307 que es el numero que se aproxima al numero maximo posible en Excel: 9,99999999999999E+307:

=BUSCAR(9E307;A1:A10)
=BUSCARV(9E307;A1:A10;1)
=BUSCARV(9E307;A1:A10;1;1)
=BUSCARV(9E307;A1:A10;1;VERDADERO)
=BUSCARH(9E307;A1:Z1;1)
=BUSCARH(9E307;A1:Z1;1;1)
=BUSCARH(9E307;A1:Z1;1;VERDADERO)
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;1))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;-1))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;VERDADERO))

Para encontrar el ultimo valor de texto usamos algo como REPETIR("z";255) o simplemente "zzzzzz" que es un valor que se supone que no encontraremos un valor alfabeticamente mayor en nuestro rango de busqueda:

=BUSCAR(REPETIR("z";255) ;A1:A10)
=BUSCARV(REPETIR("z";255) ;A1:A10;1)
=BUSCARV(REPETIR("z";255) ;A1:A10;1;1)
=BUSCARV(REPETIR("z";255) ;A1:A10;1;VERDADERO)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1;1)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1;VERDADERO)
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;1))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;-1))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;VERDADERO))

Nota: Obviamente, el metodo de la busqueda del ultimo valor de texto anterior solo funciona el las versiones de Excel que utilizan el alfabeto cuya ultima letra es "z" (por ejemplo en las versiones cirilicas la busqueda de la "z" fallaria).

Saludos,
KL
Respuesta Responder a este mensaje
#5 herimaro
07/06/2006 - 18:16 | Informe spam
Nuevamente gracias, por ahora me pondré a estudiar estas caracteristicas
de excel para en el futuro estan en capacidad de aplicarles

Hola Heriberto,

>...saber porque se utiliza 9e+307, ya que busque la ayuda sobre
> la funcion indice y sobre la funcion coincidir pero no informa nada sobre
> esto.

Esta solucion se basa en un comportamiento no documentado de las funciones


de busqueda aproximada (COINCIDIR con el 3r parametro 1, -1,VERDADERO o vacio;
BUSCARV y BUSCARH con el 4o parametro 1,VERDADERO u vacio; BUSCAR). Al no
encontrar el valor numerico buscado dichas funciones devueleven el ultimo
valor numerico en el rango de busqueda. Lo mismo ocurre con las cadenas de
texto - si el texto buscado no se encuentra la funcion devolvera el ultimo
texto del rango de busqueda. Aprovechando este comportamiento, se utilizan los
valores que por definicion son imposibles de encontrar en el rango buscado,
p.ej.:

Para encontrar el ultimo valor numerico usamos 9E307 que es el numero que se


aproxima al numero maximo posible en Excel: 9,99999999999999E+307:

=BUSCAR(9E307;A1:A10)
=BUSCARV(9E307;A1:A10;1)
=BUSCARV(9E307;A1:A10;1;1)
=BUSCARV(9E307;A1:A10;1;VERDADERO)
=BUSCARH(9E307;A1:Z1;1)
=BUSCARH(9E307;A1:Z1;1;1)
=BUSCARH(9E307;A1:Z1;1;VERDADERO)
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;1))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;-1))
=INDICE(A1:A10;COINCIDIR(9E307;A1:A10;VERDADERO))

Para encontrar el ultimo valor de texto usamos algo como REPETIR("z";255) o


simplemente "zzzzzz" que es un valor que se supone que no encontraremos un
valor alfabeticamente mayor en nuestro rango de busqueda:

=BUSCAR(REPETIR("z";255) ;A1:A10)
=BUSCARV(REPETIR("z";255) ;A1:A10;1)
=BUSCARV(REPETIR("z";255) ;A1:A10;1;1)
=BUSCARV(REPETIR("z";255) ;A1:A10;1;VERDADERO)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1;1)
=BUSCARH(REPETIR("z";255) ;A1:Z1;1;VERDADERO)
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;1))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;-1))
=INDICE(A1:A10;COINCIDIR(REPETIR("z";255) ;A1:A10;VERDADERO))

Nota: Obviamente, el metodo de la busqueda del ultimo valor de texto


anterior solo funciona el las versiones de Excel que utilizan el alfabeto cuya
ultima letra es "z" (por ejemplo en las versiones cirilicas la busqueda de la
"z" fallaria).

Saludos,
KL
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida