VLOOKUP () zu einer Tabelle in einem anderen Arbeitsblatt, die einen Fehler # N / A zurückgibt

519
Nao

Ich habe täglich 2 Tische

täglicher Eintritt

und Zusammenfassung

Zusammenfassung

Meine Formel in BQ20der Übersichtstabelle lautet derzeit:

=IF(VLOOKUP(BQ5,Table11[DATE],1,FALSE),VLOOKUP('SUMMARY (NEW)'!B20,'DAILY ENTRY'!A:H,8,FALSE),"") 

Table11[DATE]ist nur Spalte Ain der täglichen Eintragstabelle.

Ich versuche, die Werte COSTund QTYaus der Tabelle mit den täglichen Einträgen in die Übersichtstabelle aufzunehmen. Wenn ich jedoch die obige Formel verwende, erhalte ich eine #N/AFehlermeldung.

Ich versuche seit einer Woche, diese Arbeit zu machen. Benutze ich die falsche Formel?

2

1 Antwort auf die Frage

0
robinCTS

VLOOKUP()sucht nach seinem ersten Argument in der ersten Spalte des im zweiten Argument angegebenen Bereichs.

Die erste Spalte Ihres zweiten Arguments sollte die ITEMSpalte sein, nicht die erste Spalte der Tabelle.

Die korrigierte Formel für BQ20lautet:

=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/AFehler.)

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:

Arbeitsblatt-Screenshot

Geben Sie die folgende Formel in alle Zellen der HelperSpalte 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.

Danke für alle Vorschläge. Ich habe es mit der Helfer-Kolonne versucht, aber das scheint auf einen Fehler zu stoßen. Ein paar der Jungs bei der Arbeit und ich haben mit ihm rumgespielt und am Ende haben wir diese Formel gefunden, die funktioniert hat '= SUMIFS (' DAILY ENTRY '!). $ H: $ H,' DAILY ENTRY '! $ A: $ A,' ZUSAMMENFASSUNG (NEU) '! LR $ 5: LS $ 5,' TÄGLICHER EINTRITT '! $ D: $ D,' ZUSAMMENFASSUNG (NEU) '! $ B20)' Nao vor 5 Jahren 0
@Nao Ja. Das ist im Wesentlichen die gleiche Formel wie die von mir gelieferte Version von SUMPRODUCT (). Ich habe die Antwort `SUMIFS ()` zur Antwort hinzugefügt (natürlich mit leicht verständlichen strukturierten Referenzen). Ich bin überrascht, dass Sie die `SUMPRODUCT ()` Formel nicht zum Laufen bringen konnten. (Ich bin auch überrascht, dass Sie die Version der Helper-Spalte nicht zum Laufen bringen konnten.) Nur eine kleine Anmerkung - Mit Ausnahme der Verwendung strukturierter Referenzen kann Ihre Formel durch Entfernen des unnötigen Stroms verbessert werden Blattreferenzen und 'LS $ 5': `= SUMIFS ('TÄGLICHER EINTRAG'!) $ H: $ H, 'TÄGLICHER EINTRITT'! $ A: $ A, LR $ 5, 'TÄGLICHER EINTRITT'! $ D: $ D, $ B20 ) `. robinCTS vor 5 Jahren 0