VLOOKUP()
sucht nach seinem ersten Argument in der ersten Spalte des im zweiten Argument angegebenen Bereichs.
Die erste Spalte Ihres zweiten Arguments sollte die ITEM
Spalte sein, nicht die erste Spalte der Tabelle.
Die korrigierte Formel für BQ20
lautet:
=IF(VLOOKUP(BQ5,Table11[DATE],1,FALSE),VLOOKUP('SUMMARY (NEW)'!B20,Table11[[ITEM]:[COST]],5,FALSE),"")
Diese Formel ist jedoch noch immer grundlegend fehlerhaft. Es wird nicht das richtige Element basierend auf dem Datum abgeholt, da es keine Verbindung zwischen den beiden gibt und auch nicht geben kann VLOOKUP()
. (Versuch, dies zu tun, führte zu dem #N/A
Fehler.)
Eine Lösung hierfür verwendet Arrays und die SUMPRODUCT()
Funktion:
=SUMPRODUCT(Table11[COST]*(Table11[DATE]=$BQ$5)*(Table11[ITEM]=$B20))
Vorsichtsmaßnahmen:
Diese einfache Formel funktioniert nur dann korrekt, wenn es sich bei den Werten um Zahlen handelt.
Es funktioniert nur korrekt, wenn die Elemente für jedes Datum eindeutig sind.
Diese beiden Einschränkungen können mit komplexeren Versionen der Formel überwunden werden.
BEARBEITEN:
Wie das OP herausgefunden hat, gibt es eine äquivalente Formel, die SUMIFS()
anstelle von SUMPRODUCT()
:
=SUMIFS(Table11[COST],Table11[DATE],$BQ$5,Table11[ITEM],$B20)
Die gleichen Vorbehalte gelten auch für diese Formel.
Es gibt eine alternative Lösung, die verwendet wird VLOOKUP()
, aber es ist eine Helfer-Säule erforderlich.
Fügen Sie dem täglichen Eintrag Tabelle eine Helfer-Spalte hinzu:
Geben Sie die folgende Formel in alle Zellen der Helper
Spalte ein:
=Table11[[#This Row],[DATE]]&Table11[[#This Row],[ITEM]]
Geben Sie die folgende Formel ein BQ20
:
=VLOOKUP($BQ$5&$B20,Table11[[Helper]:[COST]],9,FALSE)
Beachten Sie, dass diese Formel korrekt mit Werten außerhalb der Anzahl und nicht eindeutigen Elementen funktioniert.