Pb con BDEXTRAER...más datos

09/02/2004 - 18:21 por MG | Informe spam
Exactamente el problema que tengo con BDEXTRAER es este

En una hoja tengo una tabla con datos como estes

MAQUINA TIPO SECCION LONGITUD_MINIMA LONGITUD_MAXIMA TIEMP
AAA BBB CCC 1 20 10
AAA BBB CCC 21 40 20
DDD FFF GGG 1 20 30


En otra tengo una tabla como est

MAQUINA TIPO SECCION LONGITUD TIEMP
AAA BBB CCC 25 (FORMULA

La formula debe buscar en la tabla la máquina entre cuya longitud minima y máxima está la longitud de mi 2º tabla. (Y también debe coincidir el tipo y seccion)

En Lotus con BDEXTRAER funciona, pero en Excel no hay manera

Gracias por echarme una mano
 

Leer las respuestas

#1 Héctor Miguel
09/02/2004 - 22:49 | Informe spam
hola, MG !

... el problema que tengo con BDEXTRAER es ...
... debe buscar en la tabla ... entre cuya longitud minima y maxima esta la longitud de mi 2º tabla.
... tambien debe coincidir el tipo y seccion
En una hoja tengo una tabla con datos como estos:
MAQUINA TIPO SECCION LONGITUD_MINIMA LONGITUD_MAXIMA TIEMPO
AAA BBB CCC 1 20 100
AAA BBB CCC 21 40 200
DDD FFF GGG 1 20 300
.
En otra tengo una tabla como esta
MAQUINA TIPO SECCION LONGITUD TIEMPO
AAA BBB CCC 25 (FORMULA)
En Lotus con BDEXTRAER funciona, pero en Excel no hay manera.



==> 'necesitas' un rango con [TODOS] los criterios que se vayan a 'validar / descalificar'
'suponiendo' que la base de datos fuera 'Hoja1!A1:F8'
en alguna de las hojas tienes que 'construir' un rango con los criterios +/- como sigue:
[suponiendo que fuera en la 2a hoja]
________________________________________________________________
|__|____A____|___B___|____C____|________D________|________E________|
| 6 | MAQUINA | TIPO | SECCION | LONGITUD_MINIMA | LONGITUD_MAXIMA
| 7 | AAA | BBB | CCC | <% | >%

la formula para extraer el dato que 'coincide' con TODOS los criterios establecidos es:
½Extraer(Hoja1!A1:F8,"Tiempo",A6:E7) => 'traeria' un resultado de: 200 <[no se si en lotus 'funcione diferente' o los requerimientos / argumentos sean diferentes] :(

==> si quieres que 'encuentre' [nada mas] como dices...
'entre cuya longitud minima y maxima esta la longitud de mi 2º tabla...'
y... '... tambien debe coincidir el tipo y seccion'
entonces necesitas una formula [matricial... 'de momento'] que...
- encuentre la fila 'coincidente' [si...]
- 'valida' [o 'comprueba'] que la maquina 'solicitada' coincide [y si...]
- 'valida' [o 'comprueba'] que el tipo 'solicitado' coincide [y si...]
- 'valida' [o 'comprueba'] que la seccion 'solicitada' coincide [y si...]
- 'valida' [o 'comprueba'] que la longitud 'solicitada' ESTA 'entre' las minima y maxima [de la tabla 'original'] ;)
'suponiendo' que en tu 2a tabla tienes los siguientes 'requerimientos':
_______________________________________________
|__|____A____|___B___|____C____|_____D____|___E___|
| 1 | MAQUINA | TIPO | SECCION | LONGITUD | TIEMPO
| 2 | AAA | BBB | CCC | 25 | (FORMULA)

una formula MATRICIAL [de entre otras varias] que 'funciona' es:
=> es en una sola linea, la separo segun los 'pasos' que apunto en el parrafo anterior <= :))
=Indirecto("Hoja1!F"&
Max(Fila(Hoja1!A2:A8)
*(Hoja1!A2:A8¢)
*(Hoja1!B2:B8²)
*(Hoja1!C2:C8Â)
*(Hoja1!D2:D8<Ò)*(Hoja1!E2:E8>Ò)))

saludos,
hector.

Preguntas similares