Excel 多个 IF 和 MATCH 或 VLOOKUP



我在 excel 中有 4 列:

* 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>$K$2;J16>$K$1);"是";No"));IF(AND(J16>$K$2;J16>$K$1);"是";否")))

我需要的是"考虑"字段检查这一天是否是星期日,如果星期日写"星期日"。 如果星期六,则检查单独的表格,如果星期六是工作日,如果是工作日,则检查秒数是否在 30 到 200 之间,如果是,则为"是",如果否,则为"否",如果星期六不在工作星期六列表中, 然后只需写"星期六休息",如果是其他任何一天,请检查 30 到 200 之间的秒数,如果是,则为"是",如果否,则为"否"。我将感谢您的帮助!

从您现有的公式开始,您需要做四件事来修复它:

(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 的情况,请将<和>更改为 <= 和>=。

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

最新更新