Excel:我有两个工作公式。需要根据 =IF(WEEKDAY) 让他们达到 运行
Excel: I have two working formulas. Need to get them to run based on =IF(WEEKDAY)
我正在建立一个时间表轮换,其中一组员工要么是 Primary oncall、Secondary oncall,要么根本不是 OnCall。
我的电子表格中有一行用于验证在任何给定日期是否同时涵盖了小学和中学,但是周末不使用中学。 (P=primary,WP=Weekend Primary,HP=Holiday Primary,与用于跟踪目的的次级相同)
在下面的示例中,第 3 行包含日期,从 B 列开始是该月的第一天,B3=5/1/2020(星期五),C3=5/2/2020(星期六)等
这适用于周一到周五:
=IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B")
这适用于周末:
=IF(AND(SUM(COUNTIF(C5:C11,"p")+(COUNTIF(C5:C11,"wp"))+(COUNTIF(C5:C11,"Hp")))=1),"G","B")
问题是每个月当我去执行下一个计划时,我必须重新排列这一行中的公式,以便它们分别排在工作日或周末以下。我想将这些公式组合成 =IF(Weekend,2)<6,weekday formula
, else weekend formula
我的尝试
=IF((WEEKDAY,B,2)<6,IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B"),IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1),"G","B"))
你在 IF 条件中有错误的括号。
你的
=IF((工作日,B$3,2)<6,
正确
=IF(工作日(B$3,2)<6,
背景: Weekday() 函数的默认设置 returns 1 表示星期日,2 表示星期一,等等,7 表示星期六。
如果你想 运行 一个公式,如果工作日是周一到周五,那么你需要测试 returned 数字是否大于 1 并且小于 7。你可以将 AND() 函数包装在两个 Weekday() 函数的 IF 条件下,如下所示:
=if(AND(Weekday(A1)>1,Weekday(A1)<7)),WeekdayFormula,WeekendFormula)
为避免 IF 条件的复杂 AND 构造,您可能需要在 Weekday() 函数中使用参数 2
。这将使 return 星期一为 1,星期日为 7,您需要检查工作日是否小于 6。像这样:
=if(Weekday(A1,2)<6,WeekdayFormua,WeekendFormula)
我正在建立一个时间表轮换,其中一组员工要么是 Primary oncall、Secondary oncall,要么根本不是 OnCall。
我的电子表格中有一行用于验证在任何给定日期是否同时涵盖了小学和中学,但是周末不使用中学。 (P=primary,WP=Weekend Primary,HP=Holiday Primary,与用于跟踪目的的次级相同)
在下面的示例中,第 3 行包含日期,从 B 列开始是该月的第一天,B3=5/1/2020(星期五),C3=5/2/2020(星期六)等
这适用于周一到周五:
=IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B")
这适用于周末:
=IF(AND(SUM(COUNTIF(C5:C11,"p")+(COUNTIF(C5:C11,"wp"))+(COUNTIF(C5:C11,"Hp")))=1),"G","B")
问题是每个月当我去执行下一个计划时,我必须重新排列这一行中的公式,以便它们分别排在工作日或周末以下。我想将这些公式组合成 =IF(Weekend,2)<6,weekday formula
, else weekend formula
我的尝试
=IF((WEEKDAY,B,2)<6,IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B"),IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1),"G","B"))
你在 IF 条件中有错误的括号。
你的 =IF((工作日,B$3,2)<6,
正确 =IF(工作日(B$3,2)<6,
背景: Weekday() 函数的默认设置 returns 1 表示星期日,2 表示星期一,等等,7 表示星期六。
如果你想 运行 一个公式,如果工作日是周一到周五,那么你需要测试 returned 数字是否大于 1 并且小于 7。你可以将 AND() 函数包装在两个 Weekday() 函数的 IF 条件下,如下所示:
=if(AND(Weekday(A1)>1,Weekday(A1)<7)),WeekdayFormula,WeekendFormula)
为避免 IF 条件的复杂 AND 构造,您可能需要在 Weekday() 函数中使用参数 2
。这将使 return 星期一为 1,星期日为 7,您需要检查工作日是否小于 6。像这样:
=if(Weekday(A1,2)<6,WeekdayFormua,WeekendFormula)