Obtener fila de otro libro

30/11/2004 - 20:51 por Mario Alberto MX | Informe spam
Hola:

Tengo el Libro1 y el Libro2 los cuales contiene columnas con datos iguales,
necesito que despues de comparar varias columnas entre ambos y que todas
resultaran verdaderas, me devolviera la fila o bien otra columna de la misma
fila en la que todas las condiciones son verdaderas, para que posteriormente
pueda obtener los valores de otras 3 columnas del segundo libro .

Cree la siguiente formula pero no encuentro como me devuelva el dato que
necesito.

=SI(Y($B171=BUSCARV($B171,'[LIBRO2.xls]6945'!$C$162:$J$447,1,FALSO),$F171=BUSCARV($B171,'[LIBRO2.xls]6945'!$C$162:$J$447,5,FALSO),$G171=BUSCARV($B171,'[LIBRO2.xls]6945'!$C$162:$J$447,6,FALSO),$H171=BUSCARV($B171,'[LIBRO2.xls]6945'!$C$162:$J$447,7,FALSO),$J171=BUSCARV($B171,'[LIBRO2.xls]6945'!$C$162:$J$447,8,FALSO)),
Aqui no se que Poner ,"")





Gracias por la ayuda
 

Leer las respuestas

#1 Héctor Miguel
01/12/2004 - 04:45 | Informe spam
hola, Mario Alberto !

... el Libro1 y el Libro2 ... contiene columnas con datos iguales
... que despues de comparar varias columnas entre ambos y que todas resultaran verdaderas
... devolviera la fila o bien otra columna de la misma fila en la que todas las condiciones son verdaderas
... para que posteriormente pueda obtener los valores de otras 3 columnas [...] -funciones buscarv anidadas-...



[como yo lo veo] se requiere 'diseñar' formulas que 'trabajen' ->con matrices<-, puesto que...
las funciones de busqueda [como buscarv] SOLO 'pueden' devolver UNO de los datos [si existe] y...
no hay 'garantia' de que la fila [donde fuera encontrado] 'coincida' TAMBIEN con otro dato [en distinta columna]
el 'inconveniente' de las formulas matriciales es que en uso 'excesivo' [obviamente] 'alentan' el recalculo del modelo
[por lo tanto..] si necesitas 'rescatar' VARIOS datos ->por cada fila<- y EN VARIAS filas... [te sugiero...]
utiliza un celda 'puente' [por cada fila] para 'obtener' el numero de la fila donde [todas] las condiciones 'coinciden'
[para evitar que se realice 'la busqueda' POR CADA columna de la misma fila donde se requiera 'rescatar' datos]

1.- la siguiente formula 'puesta' en una celda de la fila 171 del libro1 [p.e. en A171] te estaria devolviendo...
->el numero de fila 'mas alto'<- donde las condiciones se cumplen... o 0 [cero] si no se cumplen ->TODAS<-
es en una sola linea, y recuerda que es 'matricial' [al introducirla/editarla, se 'termina' con ctrl+mayusc+enter]
=max(fila('[libro2.xls]6945'!$c$162:$c$447)*('[libro2.xls]6945'!$c$162:$c$447=$b171)*('[libro2.xls]6945'!$g$162:$g$447=$f171)*('[libro2.xls]6945'!$h$162:$h$447=$g171)*('[libro2.xls]6945'!$i$162:$i$447=$h171)*('[libro2.xls]6945'!$j$162:$j$447=$j171))

2.- una vez 'localizado' el numero de fila 'correspondiente', la manera de 'obtener' los datos de las demas columnas...
[suponiendo que la formula 'quedo' en la columna 'A' y necesitas rescatar 'de' la columna 'K' del libro2...]
a) =desref('[libro2.xls]6945'1!$k$1,$a171-1,0)
b) =indice('[libro2.xls]6945'1!$k:$k,$a171)

3.- 'dado que' si NO existen TODAS las condiciones 'requeridas', la formula estaria 'devolviendo' un 0 [cero]...
[seguramente] necesitaras 'condicionar' la 'extraccion' de los demas datos [p.e.]
a) =si(a171>0,desref('[libro2.xls]6945'1!$k$1,$a171-1,0),"No hay coincidencias")
b) =si(a171>0,indice('[libro2.xls]6945'1!$k:$k,$a171),"No hay coincidencias")

si cualquier duda o 'algo' no funciona... ¿comentas?
saludos,
hector.

Preguntas similares