Excel多重IF和MATCH或VLOOKUP

时间:2016-03-15 11:18:54

标签: excel excel-formula excel-2010

我在Excel中有4个colums:

* date         weekday      seconds      consider
* 4/03/2016       5           80            Yes
* 5/03/2016       6           80            Yes (if in the table)
* 6/03/2016       7           80            Sunday

考虑单元格的公式如下,但它不起作用: = IF(G16 = 7; “星期日”; IF(G16 = 6; IF(MATCH(F16; A1:A12; 0); IF(AND(J16> $ķ$ 2; J16> $ķ$ 1); “是” ; “否”)); IF(AND(J16> $ $ķ2; J16> $ $ķ1); “是”; “否”)))

我需要的是“考虑”现场检查当天是否是星期日,如果星期天写'星期日'。如果是星期六那么如果星期六是工作日那么检查单独的表,如果它的工作日那么检查秒是否在30和200之间,如果是,那么'是'如果没有那么'不',如果星期六不在工作星期六的列表,那么只写'星期六休息',如果其他任何一天检查30到200之间的秒,如果是,那么'是'如果没有那么'不'。 我将感激你的帮助!

2 个答案:

答案 0 :(得分:0)

从现有公式开始,您需要做四件事来解决它: -

(1)将ISNUMBER放在MATCH周围,以避免在没有匹配的星期六日期时导致#N / A错误。

(2)输入“星期六休息”字符串。

(3)改变“>”的第一轮标志在30到200之间进行测试。

(4)将A1:A12更改为A $ 1:A $ 12所以当公式被复制下来时它仍然有效。

这会给你

=IF(G16=7,"Sunday",IF(G16=6,IF(ISNUMBER(MATCH(F16,A$1:A$12,0)),IF(AND(J16<$K$2,J16>$K$1),"Yes","No"),"Saturday Off"),IF(AND(J16<$K$2,J16>$K$1),"Yes","No")))

假设K1和K2包含30和200.如果要包括秒数正好为30或200的情况,请更改&lt;和&gt;到&lt; =和&gt; =。

答案 1 :(得分:-1)

=IF(G:G<=5,IF(AND(H:H>=30,H:H<=200),"YES","NO"),CHOOSE(G:G-5,IF(ISNUMBER(MATCH(F:F,A:A,0)),
     IF(AND(H:H>=30,H:H<=200),"YES","NO"),"SAT OFF"),"SUNDAY"))