Primer valor de un rango no ordenado menor o igual a ...

06/12/2009 - 09:35 por Jose | Informe spam
Primer valor de un rango no ordenado menor o igual a ...

Saludos a todos:

En un rango, D11:D25000, necesito encontrar el primer valor (empezando
desde la primera fila de dicho rango) que sea igual o menor que 40.
Los valores no estan ordenados de menor a mayor, ni al revés. Me
pregunto si se podría hacer con alguna formula, quizás alguna formula
matricial o de otro tipo.

En el siguiente ejemplo, el que está en la fila 21 es el primero que
cumple la condicion que yo busco. Ese es el que me interesa.

También, con otra formula, necesitaba saber el primer valor de dicho
rango que sea mayor o igual a 44. En el ejemplo que dejo sería el que
está en la fila 14.


Fila Valor
11 43.21
12 42.11
13 41.03
14 44.24
15 43.13
16 41.72
17 45.07
18 46.09
19 44
20 41.02
21 39.45
22 42.01
23 38.93
24 39.45
25 46.37
26 40
27 42.06
28 44.12
29 39.97
30 38.72
31 40
32 39.61
..
..


Lo podría hacer utilizando una columna auxiliar en todo el rango
C11:C25000 introduciendo una fórmula como la siguiente:
=SI(D11<@;1;0)
El primer 1 que me salga es que cumple la condición que busco.
Pero no quería utilizar una columna auxiliar porque es muy larga y me
parece poco práctico.


A ver si me podeís dar una pista.
Muchas gracias
Un saludo
Jose

Preguntas similare

Leer las respuestas

#1 pepe
06/12/2009 - 10:55 | Informe spam
Busca en la ayuda 'buscar valores en una lista de datos' o 'funciones de
búsqueda y referencia'


"Jose" escribió en el mensaje de noticias
news:
Primer valor de un rango no ordenado menor o igual a ...

Saludos a todos:

En un rango, D11:D25000, necesito encontrar el primer valor (empezando
desde la primera fila de dicho rango) que sea igual o menor que 40.
Los valores no estan ordenados de menor a mayor, ni al revés. Me
pregunto si se podría hacer con alguna formula, quizás alguna formula
matricial o de otro tipo.

En el siguiente ejemplo, el que está en la fila 21 es el primero que
cumple la condicion que yo busco. Ese es el que me interesa.

También, con otra formula, necesitaba saber el primer valor de dicho
rango que sea mayor o igual a 44. En el ejemplo que dejo sería el que
está en la fila 14.


Fila Valor
11 43.21
12 42.11
13 41.03
14 44.24
15 43.13
16 41.72
17 45.07
18 46.09
19 44
20 41.02
21 39.45
22 42.01
23 38.93
24 39.45
25 46.37
26 40
27 42.06
28 44.12
29 39.97
30 38.72
31 40
32 39.61
..
..


Lo podría hacer utilizando una columna auxiliar en todo el rango
C11:C25000 introduciendo una fórmula como la siguiente:
=SI(D11<@;1;0)
El primer 1 que me salga es que cumple la condición que busco.
Pero no quería utilizar una columna auxiliar porque es muy larga y me
parece poco práctico.


A ver si me podeís dar una pista.
Muchas gracias
Un saludo
Jose
Respuesta Responder a este mensaje
#2 Héctor Miguel
06/12/2009 - 11:22 | Informe spam
hola, Jose !

En... D11:D25000... encontrar el primer valor (empezando desde la primera fila de dicho rango) que sea igual o menor que 40...
En el siguiente ejemplo, el que esta en la fila 21 es el primero que cumple la condicion que yo busco. Ese es el que me interesa.
Tambion, con otra formula, necesitaba saber el primer valor de dicho rango que sea mayor o igual a 44.
En el ejemplo que dejo seria el que esta en la fila 14.



formulas matriciales:

[<= 40] =indice(d11:d25000,coincidir(1,coincidir(d11:d25000,{0\40}),0))

[>= 44] =indice(d11:d25000,coincidir(2,coincidir(d11:d25000,{0\44}),0))

comprueba/corrige si mis separadores son diferentes en tu sistema:
- argumentos: coma
- filas en matrices constantes: separador de rutas ( \ )

nota: me parece una exageracion 25k filas con esta formula matricial (???)

saludos,
hector.

__ el ejemplo __
Fila Valor
11 43.21
12 42.11
13 41.03
14 44.24
15 43.13
16 41.72
17 45.07
18 46.09
19 44
20 41.02
21 39.45
22 42.01
23 38.93
24 39.45
25 46.37
26 40
27 42.06
28 44.12
29 39.97
30 38.72
31 40
32 39.61
..
..
Respuesta Responder a este mensaje
#3 Jose
06/12/2009 - 16:42 | Informe spam
Gracias a los dos. Pepe, las busquedas pueden ser eternas y a veces
infructuosas o frustrantes. Conozco la función BUSCARV() con el
argumento falso y verdadero, conozco la función BUSCAR().. etc. Pero
¿qué has encontrado tú en la ayuda de excel para resolver un caso como
éste? Me parece que no hay nada que sea claro y directo para este
tema.

Gracias como siempre Hector, ya me has ayudado otras veces. Funcionan
muy bien las fómulas. Eres un monstruo.

Un saludo.
Jose.


P.D.: Precisamente. Gracias a esas dos fórmulas matriciales que me has
dejado ya no necesito esa columna auxiliar de casi 25 mil filas.
Respuesta Responder a este mensaje
#4 Jose
06/12/2009 - 17:38 | Informe spam
Me faltaba un pequeño detalle. Para que las fórmulas matriciales sean
más flexibles, necesitaba hacer referencia, por ejemplo, a las celdas
c4 y c5, En ellas tendría los valores 40 y 44, o puedo poner las
cadenas {0\40} y {0\44}. Según convenga.

intento adaptar éstas fórmulas matriciales:
=INDICE(D11:D25000;COINCIDIR(1;COINCIDIR(D11:D25000;{0\40});0))

=INDICE(D11:D25000;COINCIDIR(2;COINCIDIR(D11:D25000;{0\44});0))


de ésta manera (y de otras):
=INDICE(D11:D25000;COINCIDIR(1;COINCIDIR(D11:D25000;INDIRECTO
("{0\"&C4&"}"));0))

=INDICE(D19:D25008;COINCIDIR(2;COINCIDIR(D19:D25008;"{0\"&C5&"}");0))

pero no me dá resultado.

¿Cómo se podría hacer?

Muchas gracias.
Un saludo.
Jose
Respuesta Responder a este mensaje
#5 Jose
06/12/2009 - 17:46 | Informe spam
Me faltaba un pequeño detalle. Para que las fórmulas matriciales sean
más flexibles, necesitaba hacer referencia, por ejemplo, a las celdas
c4 y c5, En ellas tendría los valores 40 y 44, o puedo poner las
cadenas {0\40} y {0\44}. Según convenga.

intento adaptar éstas fórmulas matriciales:
=INDICE(D11:D25000;COINCIDIR(1;COINCIDIR(D11:D25000;{0\40});0))

=INDICE(D11:D25000;COINCIDIR(2;COINCIDIR(D11:D25000;{0\44});0))


de ésta manera (y de otras):
=INDICE(D11:D25000;COINCIDIR(1;COINCIDIR(D11:D25000;INDIRECTO
("{0\"&C4&"}"));0))

=INDICE(D11:D25008;COINCIDIR(2;COINCIDIR(D11:D25000;"{0\"&C5&"}");0))

pero no me dá resultado.

¿cómo se podría hacer?

Muchas gracias.
Un saludo.
Jose
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida