comparar matrices

28/10/2008 - 12:55 por JBaiona | Informe spam
hola,
Estoy en un túnel sin salida, no se como resolver esto...

Dispongo de tres columnas A,B,C.
Con un desref he conseguido escoger el valor inicial y final del valor de
filas según dos parámetros.
Lo que quiero és que con el valor de este desref me lo compare con la
columna B i me escoja sólo aquellos valores que concuerdan con 1.
Cómo resultado quiero un vector de la columna C pero que contenga sólo los
valores de la columna B que coincidan con 1 dentro del rango indicado por
t_0 i t_1.
Con el ejemplo de abajo el resultado seria un vector columna así:
2.60
2.58

Mi pregunta es cómo conseguir esto, porqué el valor del desref es una matriz
y la funciones igual, buscar, coincidir sólo me dan un valor respuesta, no un
vector respuesta.

os lo agradeceré infinitamente!

PD: os adjunto el ejemplo para mejor explicación:


DESREF(a1;COINCIDIR(t_0;a1:a5;0)-1;1;(COINCIDIR(t_1;a1:a5;1)-COINCIDIR(t_0;a1:a5;0)+1);1)

parámetros:
t_0'/07/08, t_1)/07/08

A B C
1 26/07/08 1.00 1.78
2 27/07/08 2.00 2.27
3 28/07/08 1.00 2.60
4 29/07/08 1.00 2.58
5 30/07/08 2.00 1.07
 

Leer las respuestas

#1 Cacho
28/10/2008 - 19:57 | Informe spam
Hola! JBaiona. Asumiendo:

a) Que tus datos están en el rango A1:C5; y
b) Que "t_0" y "t_1" son nombres definidos en tu libro

puedes incorporar en [D1] (y luego copiar hacia abajo) la siguiente FÓRMULA
MATRICIAL (asumo que sabes que para incorporar una fórmula matricial, debes
escribirla en la barra de fórmulas, y luego seleccionar simultáneamente las
tres teclas: <Ctrl> <Shift> <Enter>):

= SI( FILA() > CONTAR(SI( (A$1:A$5>=t_0)*(A$1:A$5<=t_1)*(B$1:B$5=1) = 0; "";
FILA(A$1:A$5) )); ""; INDICE(C$1:C$5; K.ESIMO.MENOR(SI(
(A$1:A$5>=t_0)*(A$1:A$5<=t_1)*(B$1:B$5=1) = 0; ""; FILA(A$1:A$5) ); FILA())))

Sin perjuicio que esta fórmula pueda funcionarte adecuadamente,
¿consideraste la opción de utilizar el Filtro Avanzado...?

Saludos, Cacho.

Preguntas similares