Números: busque una celda en una tabla (búsqueda) utilizando múltiples criterios

1

Estoy usando Numbers '09 (pero puedo actualizar si es necesario). ¿Cómo puedo encontrar un valor usando múltiples criterios?

Digamos que tengo una tabla de vuelos, con columnas para la fecha del vuelo, el número de vuelo (incluido el código de la aerolínea), el código de reserva, etc. y otra tabla que contiene las ganancias en un programa de viajero frecuente (millas de premio, millas elite, dólares elite) para cada aerolínea, rango de fechas y código de reserva. Para cada vuelo (fila) en la primera tabla, necesito encontrar la fila en la segunda tabla que coincida con el código de la línea aérea del número de vuelo, la fecha del vuelo y el código de reserva. Luego tomaré el valor en una columna específica de esa fila y lo multiplicaré por la distancia de vuelo para obtener las ganancias para esa categoría.

Ejemplo:

La Tabla 1 ("Vuelos") tiene columnas como:

"Vuelos"

La Tabla 2 ("Por aerolínea") tiene columnas como:

"Por aerolínea"

Para la columna "EQM proyectada" para un vuelo (por ejemplo, vuelo en la fila 3, el segundo vuelo), quiero encontrar la fila en la Tabla 2 ("Por aerolínea") donde:

  • El código de la aerolínea coincide con el código al comienzo del número de vuelo (por ejemplo, "cx")
  • La columna "Fechas de vuelo desde" está en blanco o no antes de la fecha de vuelo
  • La columna "Fechas de vuelo hasta" está en blanco o a más tardar en la fecha de vuelo
  • La columna "Código de reserva" contiene el código de reserva del vuelo

En el ejemplo, la fila 96 coincide.

Luego, necesito tomar el valor en la columna "EQM" de esa fila (1.5) y multiplicarlo por el valor en la columna "Millas de vuelo". El resultado es el "EQM proyectado".

¿Cómo haría esto? He leído las descripciones de las funciones probables (LOOKUP, VLOOKUP, MATCH, INDEX) pero solo puedo ver cómo buscar usando un único criterio.

Jet set
fuente
¿Qué has intentado pero fallado? Tal como está, está pidiendo una respuesta completa sin mostrar sus intentos de resolverlo usted mismo primero. Las versiones posteriores de Numbers pueden tener funciones más avanzadas que las que se encuentran en v.09.
IconDaemon
1
No he podido descubrir cómo hacer una búsqueda usando más de un criterio. He leído y releído la documentación de las funciones que parecen ser las que hay que usar, y no veo la manera de hacerlo. ¿Estás diciendo que no puedo preguntar cómo hacer algo si no puedo entender cómo podría hacerlo? No estoy seguro de lo que quieres decir con "una respuesta completa"; lo que necesito es una técnica para buscar una celda usando más de una prueba, si supiera que creo que podría resolver cómo encajar eso en mi situación específica.
jetset

Respuestas:

2

Lo tengo funcionando ahora, al extender las técnicas discutidas en otro lugar (que usa una columna adicional para contener un agregado de los criterios de coincidencia).

Para manejar los rangos de fechas, creé una tabla de búsqueda adicional que asigna un valor único arbitrario a cada rango de fechas:

ingrese la descripción de la imagen aquí

En la tabla de búsqueda de ganancias por aerolínea, agregué una columna adicional para mantener el Código de fecha para el rango de fechas, usando BUSCARV contra la columna de fecha de inicio, con coincidencia exacta, ya que encuentra el valor más grande que es menor que el criterio :

ingrese la descripción de la imagen aquí

Y otra columna adicional para contener una cadena de búsqueda calculada que es una concatenación de la aerolínea, los códigos de reserva y el código de rango de fechas:

ingrese la descripción de la imagen aquí

Luego, en la tabla principal (que contiene los vuelos realizados), agregué una columna adicional para contener la cadena de búsqueda, que es una concatenación de la aerolínea, el código de rango de fechas solo si corresponde y el código de reserva con asteriscos a cada lado como comodines, y otra columna adicional para contener la fila calculada de la tabla de búsqueda por aerolínea:

ingrese la descripción de la imagen aquí

(Por supuesto, podría haber evitado agregar dos columnas adicionales en ambas tablas al hacer que las fórmulas sean más complejas, pero opté por una mejor legibilidad).

Luego, las columnas de ganancias reales en la tabla principal utilizan la función BUSCAR con la fila calculada de la tabla de búsqueda por aerolínea y la columna correspondiente, por ejemplo:

= IF ( $PNR '1' = "", "",  ROUNDUP ( IF ( INDEX ( 'Per-Airline',  $Lookup Row '1', COLUMN ( 'RDM per $ (EXP)' ) ) > 0, INDEX ( 'Per-Airline',  $Lookup Row '1', COLUMN ( 'RDM per $ (EXP)' ) ) * 
Jet set
fuente