【发布时间】:2016-08-15 07:41:05
【问题描述】:
我在设置一个根据多个条件连接我的两张工作表的函数时遇到问题。
我希望在航班列中发生以下情况:
IF sheet1.product = sheet2.product AND
sheet1.date >= sheet2.start date AND
sheet1.date <= sheet2.end date THEN
sheet2.flight
我无法连接和查看它,因为我正在寻找一系列日期并且我不能使用 if(and( 因为我需要我的 'value_if_true' 是动态的。
实现我试图解释的最佳公式是什么?
Sheet1
For flight column row 1
=IF(AND(D2=Sheet2!A2,Sheet1!A2>=Sheet2!B2,Sheet1!A2<=Sheet2!C2),Sheet2!D2)
Date Start Date End Date product flight
11/29/2015 11/29/2015 12/5/2015 product1 1
11/29/2015 11/29/2015 12/5/2015 product1
11/30/2015 11/29/2015 12/5/2015 product1
11/30/2015 11/29/2015 12/5/2015 product1
12/1/2015 11/29/2015 12/5/2015 product1
12/1/2015 11/29/2015 12/5/2015 product1
12/2/2015 11/29/2015 12/5/2015 product1
12/3/2015 11/29/2015 12/5/2015 product1
12/3/2015 11/29/2015 12/5/2015 product1
12/4/2015 11/29/2015 12/5/2015 product1
12/5/2015 11/29/2015 12/5/2015 product1
11/25/2015 11/29/2015 12/5/2015 product2
11/26/2015 11/29/2015 12/5/2015 product2
11/27/2015 11/29/2015 12/5/2015 product2
11/29/2015 11/29/2015 12/5/2015 product2
11/29/2015 11/29/2015 12/5/2015 product2
11/30/2015 11/29/2015 12/5/2015 product2
11/30/2015 11/29/2015 12/5/2015 product2
12/1/2015 11/29/2015 12/5/2015 product2
12/1/2015 11/29/2015 12/5/2015 product2
12/2/2015 11/29/2015 12/5/2015 product2
12/2/2015 11/29/2015 12/5/2015 product2
12/3/2015 11/29/2015 12/5/2015 product2
12/3/2015 11/29/2015 12/5/2015 product2
12/4/2015 11/29/2015 12/5/2015 product2
12/4/2015 11/29/2015 12/5/2015 product2
12/5/2015 11/29/2015 12/5/2015 product2
12/6/2015 11/29/2015 12/5/2015 product2
Sheet2
product start date end date flight
product1 11/29/2015 12/1/2015 1
product1 12/2/2015 12/5/2015 2
product2 11/25/2015 11/30/2015 1
product2 12/1/2015 12/2/2015 2
product2 12/3/2015 12/6/2015 3
非常感谢任何帮助。谢谢。
更改列引用时出错
获取#N/A!当我将列引用从 D 更改为 O 时出现 value not available 错误。单元格引用是相同的(dataVal 下拉列表具有相同的源)下面的数据来说明。如 cmets 中所述,在我将 D 列更改为 O 之前,此公式完美运行。
公式(使用 Ctrl-Shift-Enter):
=INDEX('航班时刻表'!$F$3:INDEX('航班时刻表'!F:F,MATCH(1E+99,'航班时刻表'!F:F)),MATCH(1,IF(( A2>='航班时刻表'!$B$3:INDEX('航班时刻表'!B:B,MATCH(1E+99,'航班时刻表'!F:F)))(A2(O2='航班时刻表'!$A$3: INDEX('航班时刻表'!A:A,MATCH(1E+99,'航班时刻表'!F:F))),1,0),0))
这是当前工作表上的数据:
Date ColB ColC Start Date End Date ColF ColG ColH Coli ColJ ColK ColL ColM flight Product
11/29/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-11 1 1524 #REF! ProductA
11/29/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-11 691 2046191 #REF! ProductA
11/30/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-11 3 1906 #REF! ProductA
11/30/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-11 1152 2923570 #REF! ProductA
12/1/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 2 3 #REF! ProductA
12/1/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 0 49 #REF! ProductA
12/2/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 0 2 #REF! ProductA
12/3/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 0 433 #REF! ProductA
12/3/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 642 2002431 #REF! ProductA
12/4/2015 Emp Loc 11/29/2015 12/5/2015 Type ZZZ dim dim 4850000 2015-12 2 24 #REF! ProductA
这是“航班时刻表”的数据
Product start date end date Budget Rate Flight
ProductA 11/29/2015 11/30/2015 $10,000.00 $5.00 1
ProductA 12/01/2015 12/03/2015 $10,000.00 $5.00 2
ProductA 12/04/2016 12/06/14 $10,000.00 $5.00 3
【问题讨论】:
-
不明白为什么
if+and不起作用。 -
当你说它不起作用时,我相信你。重点是为什么。发布一些解释原因的数据。
-
我正在为一张大桌子这样做。如果我只查看一个单元格,则公式 =IF(AND(D2=Sheet2!A2,Sheet1!A2>=Sheet2!B2,Sheet1!A2
-
最好将数据作为文本发布,但如果需要,图片也可以。
-
@findwindow 当你试图召唤我时,你需要在没有空格的情况下填写我的名字,否则它不会向我发送消息。但见下文。
标签: excel if-statement vlookup