.png)
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.
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)
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"))