繁体   English   中英

Excel索引与If条件匹配

[英]Excel Index Match with If Criteria

我有2个这样的Excel工作簿:

工作簿1

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

工作簿2

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

我正在尝试在workbook2的B列中运行一个excel公式,该公式将向用户更新物料代码匹配的交货状态。

工作簿1在A列中给出了每个物料的预期交货日期,并在C列中给出了预期交货数量。

我想创建一个If公式,将其放入工作簿2的B列中,该公式将检查每个项目(C列)的预期数量是否与D列中的收到库存相匹配。

如果收到的库存更多或与预期的交付数量匹配,我希望状态为“已交付”。

如果收到的库存少于预期的交付数量,那么我希望状态为“交付的库存不足”。

如果收到的库存为0,我希望状态为“预期的交货”并从A列中选择交货日期。因此,您将获得“预期的交货2016年11月11日”。

到目前为止,我试图将这样的if语句放在一起:

=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")

我的公式不起作用,并且出现#Value错误。 请有人可以告诉我我要去哪里哪里以及如何达到最终结果吗?

这是一个很长的公式。

=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",)))

转到名称管理器,并将此公式分配给任何名称,例如“状态”

并且从B2到B1000的所有单元格将只有=status作为公式。

让我知道它是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM