我在 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"))