Gibt es eine Möglichkeit, Daten in Zellen mit sverweis zu importieren, hängend von der Anzahl der Inventarbestände ab?
Um genauer zu sein, in den eingefügten Beispiel habe ich es mit Svwerweis aufgebaut, doch es zeigt (wie auch Sverweis zeigen soll) nur das erste Lager. Möchte mit Sverweis (oder eine andere Formel) in Spalte B bewerkstelligen, wenn der Bestand (Spalte H) aus einem bestimmten Lager ausgeht, soll es automatisch in das nächste Lager (Spalte G) verschoben werden, das einen Bestand hat.
Tabelle 1 zeigt Produkt-Barcodes, Lagernummern in verschiedenen Lagern. Tabelle 2 zeigt Produkt-Barcodes und welche Lager zu bestellen sind.
18.09.2021, 13:51 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2021, 13:56 von EA1950.)
Hallo,
ich habe dir im Bereich B16:C16 folgende Array-Funktion eingefügt: {=WENNFEHLER(INDEX($G$2:$H$10;AGGREGAT(15;6;1/($F$2:$F$10=$A$16)*(ZEILE($F$2:$F$10)-1);ZEILE(B1));{1.2});"")} und diese in den Bereich B17:C23 hinunter kopiert.
In Zelle A16 kannst du den Product-Barcode eingeben und die Formel zeigt dann alle passenden Zeilen aus dem Bereich G2:H10.
Mit lieben Grüßen Anton.
Windows 10 64bit Office365 32bit
Folgende(r) 1 Nutzer sagt Danke an EA1950 für diesen Beitrag:1 Nutzer sagt Danke an EA1950 für diesen Beitrag 28 • Niko
18.09.2021, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2021, 16:01 von EA1950.)
Hallo,
hast du meine Information, dass es sich um eine Array-Funktion handelt, entsprechend angewandt? Das soll heißen - bezogen auf deine/meine Beispieldatei:
Um im Zellbereich B16:C16 die besagte Array-Funktion einzugeben, musst du folgendermaßen vorgehen: 1) Du markierst den Zellbereich B16:C16 2) Du gibst in die Formeleditierzeile folgende Formel ein (Achtung ohne die geschweiften Klammern am Anfang und am Ende!!): =WENNFEHLER(INDEX($G$2:$H$10;AGGREGAT(15;6;1/($F$2:$F$10=$A$16)*(ZEILE($F$2:$F$10)-1);ZEILE(B1));{1.2});"") 3) Du beendest die Formeleingabe in der Formeleditierzeile nicht mit der einfachen EINGABE-Taste (Enter-Taste), sondern mit der Tastenkombination Strg+Umschalt+EINGABE (Ctrl+Shift+Enter). 4) Wenn du jetzt in der Zelle B16 bzw. C16 nachschaust, wirst du die Formel in geschweiften Klammern eingeschlossen vorfinden, also wie folgt: {=WENNFEHLER(INDEX($G$2:$H$10;AGGREGAT(15;6;1/($F$2:$F$10=$A$16)*(ZEILE($F$2:$F$10)-1);ZEILE(B1));{1.2});"")} 5) Jetzt markierst du wieder beide Zellen und kopierst diesen Bereich (mit dem Kopierpunkt in der rechten unteren Ecke des Bereiches) in die darunter liegenden Zeilen, so weit du das eben benötigst.
Da es sich in den beiden Zellen B16 und C16 um eineArray-Formel handelt, musst du die beiden Zellen quasi als eine Einheit behandeln - es befindet sich dort nur 1 Formel, obwohl es 2 Zellen sind. Versuchst du diese beiden Zellen auseinander zu reißen oder getrennt voneinander zu behandeln, wird Excel sofort dagegen protestieren. Du kannst diesen Array-Modus nur dadurch beenden, dass du entweder den Zellbereich gleichzeitig löschst oder den Zellbereich auf sich selbst wert-kopierst.
Falls deine echte Lagertabelle (die im Demo-Beispiel in Bereich F2:H11 sich befindet) nicht mit der Überschriftenzeile in Zeile 1 liegt, sondern zB. in Zeile 10, so musst du deine Abfrage-Formel entsprechend anpassen. Angenommen sie liege im Bereich M10:O30 - dann lautet sie: {=WENNFEHLER(INDEX($N$11:$O$30;AGGREGAT(15;6;1/($M$11:$M$30=$A$16)*(ZEILE($M$11:$M$30)-10);ZEILE(B1));{1.2});"")} d.h. insbesondere muss die Differenz der beiden roten Zahlen 1 ergeben (11-10=1) !!
Mit lieben Grüßen Anton.
Windows 10 64bit Office365 32bit
Folgende(r) 1 Nutzer sagt Danke an EA1950 für diesen Beitrag:1 Nutzer sagt Danke an EA1950 für diesen Beitrag 28 • Niko