Verwenden Sie INDEX, um mehrere Werte in einer Liste zu suchen

0

Ich verwende diese Formel, um alle Instanzen von CUCUMBERS in Spalte B auf dem ersten Blatt meiner Arbeitsmappe nachzuschlagen: "ITS" Ich habe mit Spalte B in Spalte X identisch.

Bisher funktioniert das großartig, so wie ich es will, außer dass NUR einige der Gurken zurückgegeben werden, nicht alle. Ich verwende die gleiche Formel, die vertauscht wurde, um die PO # in Spalte D zu finden, damit ich feststellen kann, welche GURKEN sie an mich zurücksenden, und überspringe die ersten beiden bei dieser Suche.

Beachten Sie, dass meine Daten auch andere Produkte wie SPINAT, KIWI, KAROTTEN usw. enthalten, die sich sowohl über als auch unter den CUCUMBER-Einträgen befinden. Aus diesem Grund stehen die CUCUMBERS in den Zeilen 24:30. Diese Formel muss in der Lage sein, Daten aus der gesamten Spalte abzurufen und JEDE Instanz des Namens zurückzugeben. Wenn es also 15 Einträge für CUCUMBER gibt, muss es 15 Einträge auf meinem zweiten Blatt widerspiegeln.

Das grundlegende Ziel besteht darin, jede Instanz eines bestimmten Erzeugnisses zu finden und alle Daten aus jeder Zeile abzurufen, in der dieses Erzeugnis aufgeführt ist. Wenn es einen einfacheren Weg gibt, bin ich auch dafür offen. Hier ist die Info unten:

= INDEX (SEIN! $ B $ 4: $ X $ 56, KLEIN (WENN (SEIN! $ B $ 4: B56 = $ B $ 1, REIHE (SEIN! $ B $ 4: B56)), REIHE (SEIN! 3: 56)) -3,23)

Hier ist ein Beispiel für das ITS-Blatt:

       B               C          D

 24   CUCUMBER  ANDREW&WILLIAM  381873

 25   CUCUMBER  ANDREW&WILLIAM  381873

 26   CUCUMBER  ANDREW&WILLIAM  381873

 27   CUCUMBER  DIVINE          611881

 28   CUCUMBER  WHOLESUM        100328

 29   CUCUMBER  WHOLESUM        100328

 30   CUCUMBER  DIVINE          1002874

Das Problem ist, dass wenn ich die Formel laufen lasse; Ich bekomme nur die unteren 5 zurück, um zurückzukehren, und es überspringt die ersten beiden Einträge.

Andrew McAtee
quelle

Antworten:

1

Sie beginnen Ihre Formel in Zeile 3, deshalb beginnt sie mit dem dritten Ergebnis. Entweder in der ersten Reihe beginnen oder verwenden ROW(ITS!3:56)-2.

Warum müssen Sie Formel überhaupt verwenden? Ich würde Pivot-Tabelle verwenden (wenn Sie Gurke in jeder Zeile anzeigen müssen, können Sie "Artikelbezeichnungen wiederholen" festlegen).

Máté Juhász
quelle
0

Das ROW(ITS!3:56)Argument von SMALLergibt keinen Sinn.

Was macht Ihre Formel jetzt:

Die SMALLFunktion ruft das {3,4,5,...,56}kleinste Element in Ihrem Array von Übereinstimmungen in einer einzelnen Zelle auf . Rein zufällig hat dies die Illusion, wie beabsichtigt zu arbeiten, da in der Einzelzellenformel nur der erste Term in diesem Array verwendet wird. So erhalten Sie bei Ihrer ersten Eingabe den drittkleinsten Artikel.

Beim Ausfüllen {4,5,6,...,57}wird der vierte und zufälligerweise der viertkleinste Eintrag angefordert. Und so weiter.

Was soll die Formel bewirken?

Das letzte Argument von SMALLsoll eine einzelne Zahl sein (kein Array), die um 1 erhöht wird, wenn die Formel ausgefüllt wird.

Sie können dies erreichen, indem Sie ROWSstattdessen verwenden. Verwenden Sie dies in der ersten Formel als letztes Argument in SMALL:

`ROWS($1:1)`

Dies wird um 1 erhöht, wenn Sie die Formel ausfüllen.

Hervorragend
quelle