Función para buscar en una celda o rango

09/01/2005 - 14:21 por CROBER | Informe spam
Estimados Cogruperos
Seguro que es una tontería, pero no me sale ni a tiros y llevo media hora
atascado en esto y necesito avanzar:
Trabajo con Excel 2003.
Tengo una tabla de rango 12x12
Quiero que me busque en una fila que le especifique aquella celda cuyo valor
sea mayor que cero (solo habrá una celda con esas características) y que me
devuelva el valor de la columna en que esté la celda de valor cero, en la
fila que le especifique yo.
En su defecto, si no puede hacerse así, haría una tabla de transición,
poniendo en la primera fila aquella en la que tiene que buscar el valor
igual a cero, y luego el resto: buscar en la columna de la celda en la que
tenga el valor igual a cero la fila que le especifique, y devolver el valor
de dicha celda.
Aunque entiendo que esto último no tendría que ser necesario, pues pienso
que para definir el rango puedo seleccionar primero la fila en la que estén
los valores entre los que tiene que encontrar el valor igual a cero, y
luego, con la tecla de control pulsada, selecciono el resto del rango en el
que tiene que buscar la celda de respuesta... pero nunca se sabe si eso sale
o no bien!!!.

He probado mucho y no me sale bien (creo entender que la especificación de
la fila donde esta la celda cuyo valor tiene que devolver hay que decírsela
por numero de fila -"fila nº10"- y no por el rango) pero chicos, estoy
espeso y no me sale.
¿Podéis ayudarme?.


Gracias por vuestra ayuda al responder
=CROBER

email: croberNOSPAM@terra.es
Quitad NOSPAM para responder
=

Preguntas similare

Leer las respuestas

#6 KL
09/01/2005 - 21:20 | Informe spam
Daniel,

Como siempre esta es buenisima: =SUMAPRODUCTO(C7:G7,C$5:G$5) no se por que
me he complicado la vida tanto.

KL



"Daniel.M" wrote in message
news:%
Hola,

Si entendi bien :-)

En la celda C22:

Si hay posibilidades de tener mas que uno numero diferente de cero (en
cada
fila):
la matricial siguiente :
=SUMA(C7:G7*(1+COLUMNA(C7:G7)-COLUMNA(C7)=COINCIDIR(1,--(C7:G7>0),0))*C$5:G$5)


Si hay solamente UN numero <> 0 (como en su archivo) en cada fila, la
formula
siguiente:
=SUMAPRODUCTO(C7:G7,C$5:G$5)


Saludos,

Daniel M.


"CROBER" wrote in message
news:
Estimado KL,
La verdad es que incluso con tus amables indicaciones no consigo dar con
la
respuesta adecuada a mis necesidades.
Discúlpame mi poca habilidad.
Me permito, si no es mucha molestia para ti, enviar al grupo un archivo
zip
con un ejemplo muy resumido del problema, por si eres tan amable de
echarle
una ojeada, y viendo directamente el problema, puedes indicarme la
solución
mediante la fórmula a emplear mas adecuada a lo que necesito.
Sé que estoy abusando de tu amabilidad, pero créeme, para mi es
importante
este tema.

Si por alguna razón no pudiera subir el archivo al grupo (desconozco si
las
normas del grupo así lo permiten) esperaría a que me dieras tu
autorización
para enviártelo a tu email.

El archivo es muy pequeño, y el ejemplo es muy simple, no creo que te
lleve
mucho tiempo el entender lo que necesito.
Muchas gracias por tu ayuda.

Muchas gracias por tu ayuda.
=>> CROBER

email:
Quitad NOSPAM para responder
=>>
"KL" escribió en el mensaje
news:
> Hola CROBER,
>
> Suponiendo q tiene las celdas a evaluar en el rango [A1:L12] y el
> numero
> de
> la fila a evaluar en la celda [A14], prueba esta formula MATRICIAL (se
> tiene
> q entrar con Ctrl+Shift+Enter):
>
>


=COLUMNA(INDICE($A$1:$L$12,A14,COINCIDIR(VERDADERO,DESREF($A$1:$L$1,A14-1,0)>0,0
)))
>
> !Ojo! es posible q tengas q sustituir las comas (,) por puntos y coma
> (;).
>
> Tambien, si en el rango [A14:A25] pones los numeros de 1 a 12, pones la
> formula en [B14] y la copias hacia abajo hasta [B25], obtendras el
> resultado
> para todas las filas a la vez.
>
> Saludos,
> KL
>
> "CROBER" wrote in message
> news:%
>> Estimados Cogruperos
>> Seguro que es una tontería, pero no me sale ni a tiros y llevo media
>> hora
>> atascado en esto y necesito avanzar:
>> Trabajo con Excel 2003.
>> Tengo una tabla de rango 12x12
>> Quiero que me busque en una fila que le especifique aquella celda cuyo
>> valor sea mayor que cero (solo habrá una celda con esas
>> características)
>> y
>> que me devuelva el valor de la columna en que esté la celda de valor
>> cero,
>> en la fila que le especifique yo.
>> En su defecto, si no puede hacerse así, haría una tabla de transición,
>> poniendo en la primera fila aquella en la que tiene que buscar el
>> valor
>> igual a cero, y luego el resto: buscar en la columna de la celda en la
>> que
>> tenga el valor igual a cero la fila que le especifique, y devolver el
>> valor de dicha celda.
>> Aunque entiendo que esto último no tendría que ser necesario, pues
>> pienso
>> que para definir el rango puedo seleccionar primero la fila en la que
>> estén los valores entre los que tiene que encontrar el valor igual a
>> cero,
>> y luego, con la tecla de control pulsada, selecciono el resto del
>> rango
>> en
>> el que tiene que buscar la celda de respuesta... pero nunca se sabe si
>> eso
>> sale o no bien!!!.
>>
>> He probado mucho y no me sale bien (creo entender que la
>> especificación
>> de
>> la fila donde esta la celda cuyo valor tiene que devolver hay que
>> decírsela por numero de fila -"fila nº10"- y no por el rango) pero
>> chicos,
>> estoy espeso y no me sale.
>> ¿Podéis ayudarme?.
>>
>>
>> Gracias por vuestra ayuda al responder
>> =>> >> CROBER
>>
>> email:
>> Quitad NOSPAM para responder
>> =>> >>
>>
>
>







Respuesta Responder a este mensaje
#7 CROBER
09/01/2005 - 23:34 | Informe spam
Muchísimas gracias a todos por vuestra ayuda y apoyo.
Entiendo tus objeciones KL.

Ahora me es imposible ponerme probar cosas (obligaciones ineludibles de
índole familiar me obligan a tener que dejar todo esto para mañana) pero
mañana sin falta pruebo todas estas soluciones y os cuento.
De nuevo muy agradecido.

=CROBER

email:
Quitad NOSPAM para responder
=
""Víctor"" escribió en el mensaje
news:
Grober: Por si no has resuelto tu problema, con esta fórmula tendrás el
nombre de la columna donde esté la cifra mayor que 0, del rango A1:L1 :

=IZQUIERDA(DIRECCION(1;COINCIDIR(MAX(A1:L1);1:1;);4);1)

Utilizo el "truco" de la función =MAX, ya que, según dices, "en esa fila,
sólo habrá un número mayor a 0". Por tanto, forzosamente tiene que ser el
mayor.

:-)


CROBER wrote:

Estimados Cogruperos
Seguro que es una tontería, pero no me sale ni a tiros y llevo media hora
atascado en esto y necesito avanzar:
Trabajo con Excel 2003.
Tengo una tabla de rango 12x12
Quiero que me busque en una fila que le especifique aquella celda cuyo
valor
sea mayor que cero (solo habrá una celda con esas características) y que
me
devuelva el valor de la columna en que esté la celda de valor cero, en la
fila que le especifique yo.
En su defecto, si no puede hacerse así, haría una tabla de transición,
poniendo en la primera fila aquella en la que tiene que buscar el valor
igual a cero, y luego el resto: buscar en la columna de la celda en la
que
tenga el valor igual a cero la fila que le especifique, y devolver el
valor
de dicha celda.
Aunque entiendo que esto último no tendría que ser necesario, pues pienso
que para definir el rango puedo seleccionar primero la fila en la que
estén
los valores entre los que tiene que encontrar el valor igual a cero, y
luego, con la tecla de control pulsada, selecciono el resto del rango en
el
que tiene que buscar la celda de respuesta... pero nunca se sabe si eso
sale
o no bien!!!.



He probado mucho y no me sale bien (creo entender que la especificación
de
la fila donde esta la celda cuyo valor tiene que devolver hay que
decírsela
por numero de fila -"fila nº10"- y no por el rango) pero chicos, estoy
espeso y no me sale.
¿Podéis ayudarme?.




Gracias por vuestra ayuda al responder
=>> CROBER



email:
Quitad NOSPAM para responder
=>



Respuesta Responder a este mensaje
#8 KL
10/01/2005 - 00:24 | Informe spam
CROBER,

Por si te queda alguna duda, creo que la solucion de Daniel.M es una
solucion perfecta para tu caso:
=SUMAPRODUCTO(C7:G7,C$5:G$5)

es posible que tengas q cambiar la coma por punto y coma.

Saludos,
KL

"CROBER" wrote in message
news:%
Muchísimas gracias a todos por vuestra ayuda y apoyo.
Entiendo tus objeciones KL.

Ahora me es imposible ponerme probar cosas (obligaciones ineludibles de
índole familiar me obligan a tener que dejar todo esto para mañana) pero
mañana sin falta pruebo todas estas soluciones y os cuento.
De nuevo muy agradecido.

=> CROBER

email:
Quitad NOSPAM para responder
=>
""Víctor"" escribió en el mensaje
news:
Grober: Por si no has resuelto tu problema, con esta fórmula tendrás el
nombre de la columna donde esté la cifra mayor que 0, del rango A1:L1 :

=IZQUIERDA(DIRECCION(1;COINCIDIR(MAX(A1:L1);1:1;);4);1)

Utilizo el "truco" de la función =MAX, ya que, según dices, "en esa fila,
sólo habrá un número mayor a 0". Por tanto, forzosamente tiene que ser el
mayor.

:-)


CROBER wrote:

Estimados Cogruperos
Seguro que es una tontería, pero no me sale ni a tiros y llevo media
hora
atascado en esto y necesito avanzar:
Trabajo con Excel 2003.
Tengo una tabla de rango 12x12
Quiero que me busque en una fila que le especifique aquella celda cuyo
valor
sea mayor que cero (solo habrá una celda con esas características) y que
me
devuelva el valor de la columna en que esté la celda de valor cero, en
la
fila que le especifique yo.
En su defecto, si no puede hacerse así, haría una tabla de transición,
poniendo en la primera fila aquella en la que tiene que buscar el valor
igual a cero, y luego el resto: buscar en la columna de la celda en la
que
tenga el valor igual a cero la fila que le especifique, y devolver el
valor
de dicha celda.
Aunque entiendo que esto último no tendría que ser necesario, pues
pienso
que para definir el rango puedo seleccionar primero la fila en la que
estén
los valores entre los que tiene que encontrar el valor igual a cero, y
luego, con la tecla de control pulsada, selecciono el resto del rango en
el
que tiene que buscar la celda de respuesta... pero nunca se sabe si eso
sale
o no bien!!!.



He probado mucho y no me sale bien (creo entender que la especificación
de
la fila donde esta la celda cuyo valor tiene que devolver hay que
decírsela
por numero de fila -"fila nº10"- y no por el rango) pero chicos, estoy
espeso y no me sale.
¿Podéis ayudarme?.




Gracias por vuestra ayuda al responder
=>>> CROBER



email:
Quitad NOSPAM para responder
=>>







Respuesta Responder a este mensaje
#9 CROBER
10/01/2005 - 20:08 | Informe spam
Estimado KL,
Lo que me propones es perfecto para el ejemplo que he puesto, pero al ser
este una reducción del problema real no me vale dado que la tabla original
tiene mas complejidad que la que exponía en el ejemplo. lo siento, he sido
un ceporro en la exposición del ejemplo.

En realidad en la columna de la comisión NO tiene que salir el producto de
la venta por la comisión, importe económico real, (que de esa manera la
solución es sencilla, pues al haber solo una cifra mayor que cero no hay mas
que sumar las multiplicaciones, y todo esta ya resuelto).
En la realidad las ventas están en una pestaña, y los porcentajes de
comisiones están en otra distinta.

La celda resultante de la formula, tiene que dar de resultado SOLO la cifra
del porcentaje de la comisión, es decir, en la tabla 12x4 (12 meses de filas
por cuatro columnas de porcentajes de comisión por cada tramo de venta)
habrá, por ejemplo, en la primera línea (enero) solo una celda en que haya
una cifra >0 (que nos indicará la comisión a aplicar a la cifra de ventas,
que corresponderá a aquella celda (a ese porcentaje) cuya columna
corresponda con la celda cuyo valor sea>0.

Lo explico (creo) de otra manera: la formula deberá buscar en el rango de la
primera fila aquella celda>0, y devolver como resultado el valor que este
indicado (que será un porcentaje) que le corresponda a la celda cuya columna
coincida con la celda>o del rango de celdas inicialmente descrito.

Vaya,... no se si la cosa la he aclarado mas o la he enrevesado mas todavía.

Voy a probar con las formulas que me indicáis en los post anteriores a ver
si me sirve alguna.

He probado antes de preguntar en el foro con las siguientes fórmulas, pero
no he sabido hacerlas funcionar:

BUSCARH(RANGO DE LA FILA DE LAS CELDAS EN LOS QUE ENCONTRAR EL
VALOR>0;">0";NUMERO DE LA FILA EN LA MATRIZ TOTAL DE VALORES EN LA QUE
ENCONTRAR LA FILA CON EL RANGO DE CELDAS DE LAS COMISIONES)
o también
BUSCARH(RANGO DE LA FILA DE LAS CELDAS EN LOS QUE ENCONTRAR EL
VALOR>0;">0";RANGO DE LA FILA EN LA QUE ENCONTRAR EL RANGO DE LAS
COMISIONES)

¡¡¡¡¡¡¡Uffffffff!!!!!!!

Voy a ver si alguna de las formulas de los post anteriores me valen.

De todas maneras, según la ayuda de Excel, las formulas que anteriormente os
expongo son impecables, entonces ¿dónde fallan para que no funcionen?.

Gracias.
=CROBER

email:
Quitad NOSPAM para responder
=
Respuesta Responder a este mensaje
#10 KL
10/01/2005 - 20:33 | Informe spam
CROBER,

Que tal esto:

=SUMAPRODUCTO($C$5:$G$5*(C7:G7>0))

copiando hacia abajo.

Saludos,
KL

"CROBER" wrote in message
news:%
Estimado KL,
Lo que me propones es perfecto para el ejemplo que he puesto, pero al ser
este una reducción del problema real no me vale dado que la tabla original
tiene mas complejidad que la que exponía en el ejemplo. lo siento, he sido
un ceporro en la exposición del ejemplo.

En realidad en la columna de la comisión NO tiene que salir el producto de
la venta por la comisión, importe económico real, (que de esa manera la
solución es sencilla, pues al haber solo una cifra mayor que cero no hay
mas que sumar las multiplicaciones, y todo esta ya resuelto).
En la realidad las ventas están en una pestaña, y los porcentajes de
comisiones están en otra distinta.

La celda resultante de la formula, tiene que dar de resultado SOLO la
cifra del porcentaje de la comisión, es decir, en la tabla 12x4 (12 meses
de filas por cuatro columnas de porcentajes de comisión por cada tramo de
venta) habrá, por ejemplo, en la primera línea (enero) solo una celda en
que haya una cifra >0 (que nos indicará la comisión a aplicar a la cifra
de ventas, que corresponderá a aquella celda (a ese porcentaje) cuya
columna corresponda con la celda cuyo valor sea>0.

Lo explico (creo) de otra manera: la formula deberá buscar en el rango de
la primera fila aquella celda>0, y devolver como resultado el valor que
este indicado (que será un porcentaje) que le corresponda a la celda cuya
columna coincida con la celda>o del rango de celdas inicialmente descrito.

Vaya,... no se si la cosa la he aclarado mas o la he enrevesado mas
todavía.

Voy a probar con las formulas que me indicáis en los post anteriores a ver
si me sirve alguna.

He probado antes de preguntar en el foro con las siguientes fórmulas, pero
no he sabido hacerlas funcionar:

BUSCARH(RANGO DE LA FILA DE LAS CELDAS EN LOS QUE ENCONTRAR EL
VALOR>0;">0";NUMERO DE LA FILA EN LA MATRIZ TOTAL DE VALORES EN LA QUE
ENCONTRAR LA FILA CON EL RANGO DE CELDAS DE LAS COMISIONES)
o también
BUSCARH(RANGO DE LA FILA DE LAS CELDAS EN LOS QUE ENCONTRAR EL
VALOR>0;">0";RANGO DE LA FILA EN LA QUE ENCONTRAR EL RANGO DE LAS
COMISIONES)

¡¡¡¡¡¡¡Uffffffff!!!!!!!

Voy a ver si alguna de las formulas de los post anteriores me valen.

De todas maneras, según la ayuda de Excel, las formulas que anteriormente
os expongo son impecables, entonces ¿dónde fallan para que no funcionen?.

Gracias.
=> CROBER

email:
Quitad NOSPAM para responder
=>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida