Cómo tomar un conjunto de valores y compararlo con varias filas de criterios

Cómo tomar un conjunto de valores y compararlo con varias filas de criterios

Ejemplo de lo que me gustaría lograr:

ejemplo

A  B  C   D  E  F
1  1  <=  2  2  1
2  2  <=  4  23 8
3  4  <=  7  5  3
4  7  <=  10 40 10
5  10 <=  12 7  3
6  12 <=  17 8  4
7  17 <=  19 12 5

Me gustaría tomar cada número de la columna E y luego determinar a qué fila A pertenece, si el criterio es que el número E es >B y <=D (usando todo el rango B1:D999 que tiene diferentes valores en cada fila ).

La columna F luego devolvería el número de fila A para los números de la columna E.

Si cada fila de las columnas B y D son mis criterios como en B1<=D1, B2<=D2, B3<=D3, etc., me gustaría comparar cada número en la columna E y ver en qué rango se encuentran. El ejemplo sería E6=40, ese número cae en el rango B12<=D12 que tiene un valor de 10 en la fila A12). Entonces me gustaría obtener ese número de la fila A en la celda F6 al lado de E6. Tengo alrededor de 500 números y también incluyen números decimales en las columnas B, D y E y la columna A solo tiene números enteros.

La fila A3 significa números del 1 al 2 incluido, la fila A4 significa números mayores que 2 al 4 incluido. Entonces, el número E3 es mayor que el número en la columna B3 y menor o igual que el número en la columna D3, por lo tanto, cae en el rango de la fila 3, por lo que el valor F es el mismo que A3 = 1.

Respuesta1

Esta es una variación de la p.fidotEl enfoque. Al realizar una búsqueda en dirección ascendente se detecta el rango incorrecto y el ajuste de los valores del rango medio arroja resultados para los valores en el límite del rango. Un MATCH normal funciona si realiza una búsqueda descendente.

Ordene la tabla en la columna A, B o D de forma descendente. La fórmula en F3 sería:

=INDEX(A:A,MATCH(E3,D:D,-1),)

Si hay otro contenido en esas columnas, haga que el rango haga referencia a direcciones absolutas, como $A$3:$A$12 y $D$3:$D$12. Esto solo necesita las columnas A y D para la búsqueda, por lo que no me molesté en completar el contenido de la columna B o C en mi ejemplo:

ingrese la descripción de la imagen aquí

Si su columna A es solo un identificador de fila de la tabla y puede permanecer en orden ascendente, esto incluso se puede simplificar. MATCH devuelve el número de secuencia en la tabla, que corresponde a la columna A en orden ascendente, por lo que la fórmula se puede reducir a:

=MATCH(E3,$D$3:$D$12,-1)

ingrese la descripción de la imagen aquí

Tenga en cuenta que para que el resultado de MATCH coincida con el índice de fila de la tabla de la columna A, el rango de búsqueda debe especificarse con referencias absolutas.

Respuesta2

prueba esto en F3:

=IFERROR(INDEX(A:A,MATCH(E3,D:D,0)),INDEX(A:A,MATCH(E3,D:D,1))+1)

pero creo que tendrás que agregar:

A1  ---> -1
A2  ---> 0
D1  ---> 0
D2  ---> 1

para cubrir el 'rango faltante'.

información relacionada