Encuentra la fila correspondiente en la matriz

1

Tengo una lista de productos que contiene el peso de cada producto. Tengo otra tabla con rangos de pesos, y cada rango tiene un costo de almacenamiento diferente.

Me gustaría tener una fórmula que identifique en qué rango se encuentra cada producto y obtenga el costo de almacenamiento correspondiente.

Esto es lo que tengo (arriba: lista de productos, abajo: precio de almacenamiento por rango):

¿Alguna idea de cómo lo hago?

Mejor

Gabriel

Gabriel Tortelli
fuente

Respuestas:

1

Si puede diseñar los datos como tales:

ingrese la descripción de la imagen aquí

.. para que el costo de almacenamiento sea la tercera columna en lugar de la primera, puede usar esta fórmula:

=VLOOKUP($E2,$A$12:$C$16,3,TRUE)

Donde el primer argumento es el valor que está buscando, el segundo argumento es el rango completo de su búsqueda (sin incluir encabezados), el tercer argumento es la columna de su tabla para obtener los datos, y el último argumento especifica que es buscando dentro de un rango.

También tenga en cuenta que sus valores para los kg deben formatearse de esta manera y en realidad no deben contener la cadena "KG" como valor. Por ejemplo, los he formateado como tales:

ingrese la descripción de la imagen aquí


Editar: si desea mantener los datos en el mismo diseño, puede usar esto en su lugar:

=INDEX($A$12:$A$16,MATCH(E2,$B$12:$B$16,1))

Un poco menos legible pero no tan malo como comencé inicialmente. Tenga en cuenta que en realidad no necesita la Weight to:columna, esto solo necesita verificar que esté sobre la Weight from:columna

Jonno
fuente
con la fórmula de configuración original sería una combinación de MATCHyINDEX
Máté Juhász
1
@ MátéJuhász Empecé a hacer eso y se puso un poco desordenado con bastante rapidez. Publicará una versión de eso si el OP no puede cambiar el diseño de los datos :)
Jonno
1
@ MátéJuhász Lo agregué de todos modos, no estaba tan desordenado como pensaba originalmente :)
Jonno
0

Puedes usar esta fórmula:

=IF(E2<=$C$12,$A$12,IF(E2<=$C$13,$A$13,IF(E2<=$C$14,$A$14,IF(E2<=$C$15,$A$15,IF(E2<=$C$16,$A$16)))))

para entender la lógica detrás de esto, mostraré cómo funciona:

IF(E2<=$C$12
    $A$12
ELSE
    IF(E2<=$C$13
       $A$13
    ELSE
        IF(E2<=$C$14
          $A$14
        ELSE
            IF(E2<=$C$15
               $A$15
            ELSE
                IF(E2<=$C$16
                   $A$16
                END IF
            END IF
        END IF
    END IF
END IF

Es más feo y desordenado que la respuesta de @Jonno, pero cuando entiendes su lógica, es muy sencillo.

jcbermu
fuente