2016-11-02 6 views
0

Ich habe 2 Excel-Dateien wie folgt:Excel Index Spiel mit, wenn Kriterien

Workbook1

A (Delivery Date)  B (Item Code)  C (Expected Delivery quantity)  D (Received Stock) 
01/11/2016   412     100      0 
31/10/2016   234     200      200 
02/11/2016   111     10       6 

Arbeitsmappe 2

A (Item Code)  B (Status) 
412     Delivery expected 01/11/2016 
234     Delivered 
111     Insufficient Stock Delivered 

Ich versuche, eine Excel-Formel in Spalte B laufen von workbook2, das den Benutzer über den Status der Lieferungen informiert, wo der Artikelcode übereinstimmt.

Arbeitsmappe 1 gibt einen erwarteten Liefertermin für jedes Element in der Spalte A, und eine erwartete Menge der gelieferten Gegenstände in Spalte C.

Ich möchte eine If Formel erstellen 2 setzen in Spalte B in der Arbeitsmappe, die überprüft, ob die erwartete Menge für jeden Artikel (Spalte C) mit dem empfangenen Bestand in Spalte D übereinstimmt.

Wenn der empfangene Bestand größer ist oder der erwarteten Liefermenge entspricht, möchte ich den Status 'Geliefert' anzeigen.

Wenn der empfangene Bestand weniger als die erwartete Liefermenge ist, dann möchte ich den Status sagen, dass nicht genug Lager geliefert.

Wenn der empfangene Bestand 0 ist, möchte ich den Status "Lieferung erwartet" und das Lieferdatum aus Spalte A durchsehen. Sie erhalten also "Lieferung erwartet 01/11/2016".

Bisher bin ich versucht, zusammen stellen eine if-Anweisung wie folgt:

=IF('[workbook1.xlsm]Sheet1'!$D$1:$D$10000=0,"Delivery Due"&Index('[workbook1.xlsm]Sheet1'!$A$1:$A$10000',Match(B1,'[workbook1.xlsm]Sheet1'!$B$1:$B$10000),0),IF('[workbook1.xlsm]Sheet1'!$D$1:$D$10000<'[workbook1.xlsm]Sheet1'!$C$1:$C$10000,"Insufficient Stock Deliverd","Delivered") 

ist meine Formel nicht und ich erhalte ein #VALUE Fehler. Kann mir bitte jemand zeigen, wo ich falsch liege und wie ich mein Endergebnis erreichen kann?

+0

Sie müssen relevante Werte für jedes Element in WB2 suchen, für das Sie SVERWEIS verwenden möchten. Wenn es möglich ist, eine Formel in WB1 hinzuzufügen, schlage ich vor, dass Sie den Status in Spalte E hinzufügen. Und dann in Arbeitsmappe 2, um den Status mit SVERWEIS zu suchen. – eshwar

+0

@eshwar danke für Ihre Idee, aber es ist nicht möglich, Änderungen an WB1 –

+0

vorzunehmen, dann benötigen Sie separate SVERWEISE, um erwartet und erhalten zu erhalten. Verwenden Sie diejenigen in der if-Anweisung wie Sie haben – eshwar

Antwort

0

Es ist eine ziemlich lange Formel.

=IF(INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),3)=INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),4),"Delivered",IF(0=INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),4),CONCATENATE("Delivery Expected ",TEXT(INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),1),"DD/MM/YYYY")),IF(INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),3)>INDEX([WorkBook1.xlsm]Sheet1!A:D,MATCH(A2,[WorkBook1.xlsm]Sheet1!B:B,0),4),"Insufficient Stock Delivered",))) 

Zum Name Manager und ordnen diese Formel auf einen beliebigen Namen wie "Status"

und alle Zellen von B2 auf B1000 haben nur =status als Formel.

Lassen Sie mich wissen, ob es funktioniert.