es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo recuperar el valor en la columna B dado 2 criterios en la misma fila en una fórmula de Excel?

Tengo una tabla similar a la que se muestra a continuación y estoy intentando obtener los datos de la columna B basándome en los criterios de la columna A y C. A = UserID, B = Descripción, C = Prioridad de Costo, D Costo. La tabla enumera cada UserID, y la descripción del problema común, clasificando el costo para la descripción del problema y el costo del problema. Esta es una tabla suministrada con la que estoy trabajando.

UserID Descripción del Problema Prioridad de Costo Costo
111 Problema A 1 395.00
111 Problema B 2 200.00
111 Problema C 0 150.00
111 Problema D 0 145.00
112 Problema G 1 800.73
112 Problema S 2 200.46
112 Problema T 0 100.51

La tabla resultante debería verse como la que se muestra a continuación, donde se proporciona UserID junto con las columnas que definen la Prioridad de Costo requerida. El problema que tengo es obtener la descripción del problema basándome en valores estáticos en las columnas User ID: valores estáticos de 1 para el problema de mayor costo y 2 para el problema de segundo costo más alto.

UserID Problema de mayor costo Problema de segundo costo más alto
111 Problema A Problema B
112 Problema G Problema S

He intentado usar un método de búsqueda vertical para tomar el USERID y comparar la Prioridad de Costo con 1 o 2 en una declaración if, pero estaba devolviendo la columna Descripción del Problema en orden, incluyendo donde la Prioridad de Costo era 0. Me preguntaba si alguien más tenía alguna otra idea para poblar las columnas 2 y 3 en la segunda tabla.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Una solución es usar la combinación de la función INDEX-MATCH.

    Para la columna “Problema de mayor costo”, puedes utilizar la fórmula:

    =INDEX($B$2:$B$8, MATCH(1, ($A$2:$A$8= [UserID]) * ($C$2:$C$8 = 1), 0))
    

    Esta fórmula primero revisará si el UserID coincide con el UserID de referencia, después revisará si la Prioridad de Costo es igual a 1 y, finalmente, devolverá la Descripción del Problema de la columna B.

    Para la columna “Problema de segundo mayor costo”, puedes utilizar una fórmula similar:

    =INDEX($B$2:$B$8, MATCH(1, ($A$2:$A$8= [UserID]) * ($C$2:$C$8 = 2), 0))
    

    Esta fórmula revisará si el UserID coincide con el UserID de referencia, después revisará si la Prioridad de Costo es igual a 2 y, finalmente, devolverá la Descripción del Problema de la columna B.

    Recuerda reemplazar [UserID] con el UserID real en cada fórmula para la fila correspondiente.

    Estas fórmulas utilizan fórmulas de matriz, así que deben ser ingresadas con CTRL+SHIFT+ENTER en lugar de solo ENTER.

    ¡Espero que esto ayude!

Comments are closed.