Excel-Formel - Rückgabewert basierend auf der Betrachtung zweier separater Werte (entweder/oder)

Excel-Formel - Rückgabewert basierend auf der Betrachtung zweier separater Werte (entweder/oder)

Ich verwende diese Formel, um einen Wert aus der folgenden Tabelle zurückzugeben:

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

Die USUB-Tabelle enthält folgende Daten:

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

Welche Formel würde ich verwenden, um zuerst nach Obst (USUB,1) und dann nach Standort (USUB,4) zu suchen und basierend auf den Kriterien in der Formel einen Wert für den Obstcode (USUB,2) zurückzugeben?

Antwort1

Ich würde nur selten empfehlen, dieDGETFunktion, aber dies ist ein perfektes Beispiel dafür, wann Sie es sinnvoll einsetzen können. Siehe das Bild unten für die Einrichtung und Verwendung

Bildbeschreibung hier eingeben

die Formel lautet:

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

Es bietet sogar den zusätzlichen Vorteil, dass, wenn Sie keinen Standort angeben, einfach der Code für diese Frucht gefunden wird.

Um die Fälle zu erfassen, in denen es keine passenden Frucht- und Standortkombinationen gibt, sehen Sie unten nach:

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

Antwort2

Sie würden einen Index/Match mit mehreren Kriterien verwenden, eingegeben als Array (mit CTRL+SHIFT+ENTER:

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

(Bei Bedarf anpassen)

Bildbeschreibung hier eingeben

Ich konnte also einen Fruchtcode und einen Standort verwenden, um eine ID zurückzugeben. Die Formel wird korrekt in aufgelöst J. Ist es das, was Sie wollten? Im Grunde verknüpfen Sie einfach Match()Kriterien mit &und dann die Bereiche, die sie mit abgleichen sollen &, und geben sie als Array ein.

Antwort3

Dabei wird zunächst geprüft, ob Duplikate vorhanden sind. Ist dies nicht der Fall, wird die richtige ID zurückgegeben, unabhängig davon, was als Standort eingegeben wurde.

Wenn mehr als eine dieser Früchte vorhanden ist, wird an dem Standort nach einer Entsprechung gesucht.

Kann in beiden Fällen keine Entsprechung gefunden werden, so ist entweder die Frucht nicht vorhanden oder die Kombination aus Frucht und Standort (bei mehreren vorhandenen Früchten) nicht korrekt.

=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"))

Für den Verweis auf eine Tabelle verwende dann folgendes:

=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"))

Bildbeschreibung hier eingeben

verwandte Informationen