Valor de retorno de fórmula de Excel basado en observar dos valores separados (uno u otro)

Valor de retorno de fórmula de Excel basado en observar dos valores separados (uno u otro)

Estoy usando esta fórmula para devolver un valor de la siguiente tabla:

=IF(ISNA(VLOOKUP(A2,USUB,1,FALSE)),"No Fruit Found",VLOOKUP(A2,USUB,2,FALSE))

La tabla USUB tiene estos datos:

Fruit          Fruit Code   FruitID Location          CITY
Apple             APP          A    SEATTLE,WA          SEATTLE
Bananas           BAN          B    MODESTO,CA          MODESTO
Cherry            CHER         C    CHARLESTON,SC       CHARLESTON
Blackberrires     BLCKB        D    VICKSBURG,VA        VICKSBURG
Blueberries       BLUB         E    SAN DIEGO,CA        SAN DIEGO
Cantaloupe        CANT         F    GULF SHORES, AL     GULF SHORES
Grapes            GRP          G    NAPA VALLEY,CA      NAPA VALLEY
Peach             PCH          H    ATLANTA, GA         ATLANTA
Grapefruit        GRPFRT       I    FT LAUDERDALE, FL   FT LAUDERDALE
Pomegranate       POM          J    HONOLULU, HI        HONOLULU
Kiwi              KIW          K    SALEM, OR           SALEM

¿Qué fórmula usaría para mirar primero la Fruta (USUB,1) y luego la Ubicación (USUB,4) y devolver un valor de Código de fruta (USUB,2) según los criterios de la fórmula?

Respuesta1

Raramente sugeriría usar elDGETfunciona, pero este es un ejemplo perfecto de cuándo puedes darle un buen uso. Vea la imagen a continuación para la configuración y el uso.

ingrese la descripción de la imagen aquí

la fórmula es:

=DGET(USUB,"Fruit Code",$A$1:$B$2)

Incluso tiene el beneficio adicional de que si no pones una ubicación sólo encontrará el código de esa fruta.

Para detectar los casos en los que no hay combinaciones de fruta y ubicación que coincidan, consulte a continuación:

=IFERROR(DGET(USUB,"Fruit Code",$A$1:$B$2),"Not found")

Respuesta2

Usaría un índice/coincidencia con múltiples criterios, ingresados ​​como una matriz (con CTRL+SHIFT+ENTER:

=INDEX($C$2:$C$13,MATCH(H3&I3,$B$2:$B$13&$E$2:$E$13,0))

(Ajuste según sea necesario)

ingrese la descripción de la imagen aquí

Entonces, pude usar un código de fruta y una ubicación para devolver una identificación. La fórmula se resuelve correctamente en J. ¿Es eso lo que querías? Básicamente, simplemente vincula Match()los criterios con &, y luego los rangos para combinarlos con &, e ingresa como matriz.

Respuesta3

Esto buscará primero para ver si hay duplicados; de lo contrario, devolverá la identificación correcta independientemente de lo que se ingrese para la ubicación.

Si hay más de una fruta, buscará la ubicación para encontrar una coincidencia.

Si en cualquiera de los casos no se encuentra ninguna coincidencia; o el fruto no existe o la combinación de fruto y ubicación, cuando hay más de un fruto, no es correcta.

=IF(COUNTIF(A:A,H2)>1,IFERROR(INDEX($C$2:$C$13,MATCH(1,INDEX(($D$2:$D$13=I2)*($A$2:$A$13=H2),),0)),"Multiple fruits but Location is wrong"),IFERROR(INDEX(C:C,MATCH(H2,A:A,0)),"Not Found"))

Para la referencia a una tabla, utilice esto:

=IF(COUNTIF(USUB[Fruit],H2)>1,IFERROR(INDEX(USUB[FruitID],MATCH(1,INDEX((USUB[Location]=I2)*(USUB[Fruit]=H2),),0)),"Multiple fruits but Location is wrong"),IFERROR(INDEX(USUB[FruitID],MATCH(H2,USUB[Fruit],0)),"Not Found"))

ingrese la descripción de la imagen aquí

información relacionada