我想只计算没有颜色单元格,这表示工作日和颜色单元格是Holiday&周末。
我的计数公式:
{=SUM(--NOT(ISNUMBER(IF(WEEKDAY(DATE($A$2,$A$3,OFFSET($A$5,0,31*($A$3-1)+1,1,31)),2)<=6,OFFSET(A8,0,31*($A$3-1)+1,1,31),0)))--NOT(ISNUMBER(MATCH(DATE($A$2,$A$3,OFFSET($A$5,0,31($A$3-1)+1,1,31)),HolidayList[Date],0))))+COUNT(OFFSET($A$5,0,31*($A$3-1)+1,1,31))-31}
请有人帮我解决问题,我没有尝试过这个
为了更好地理解附件链接,请参阅
https://drive.google.com/open?id=0B2n3BIKH9iL5OFM3YmRHT2xpYkk&authuser=0
答案 0 :(得分:1)
Minhaz,
这似乎有点过于复杂。如果您试图找出一个月没有假期的工作日数,您是否尝试过NETWORKDAYS功能?我以前用它来帮助计算服务水平。
Networkdays
检查天数是否为星期五,以及您定义的假期列表。例如:
Start End working Days | Holidays in 2015
01/05/15 10/05/15 =Networkdays(A1,B1,D1:D10) |01/01/15
02/05/15 15/05/15 |03/05/15
其中A1是您要检查的第一个日期,B1是您要检查的最后日期,D1-D10包含一个显示假日日期的表
希望这有帮助!
答案 1 :(得分:0)
尝试调试公式时,使用 Alt + Enter 添加新行可能有助于提高它们的可读性,例如:
DELIMITER //
USE `testmysql`//
DROP TRIGGER /*!50032 IF EXISTS */ `log_items`//
CREATE
DEFINER = 'test'@'localhost'
TRIGGER `log_items` AFTER INSERT ON `profiles`
FOR EACH ROW IF USER() LIKE 'admin@%' THEN
BEGIN
INSERT INTO ItemsLog (`record_id`, `record_time`) VALUES (NEW.id, NOW());
END;
END IF;
//
DELIMITER ;
但是,无法为其他人调试您的公式 - 因为它非常复杂,=SUM(--NOT(ISNUMBER(
IF(WEEKDAY(
DATE($A$2,$A$3,OFFSET($A$5,0,31*($A$3-1)+1,1,31)),
2) <= 6,
OFFSET(A8,0,31*($A$3-1)+1,1,31),
0))
) * --NOT(ISNUMBER(
MATCH(
DATE($A$2,$A$3,OFFSET($A$5,0,31*($A$3-1)+1,1,31)),
HolidayList[Date],
0)))
) + COUNT(OFFSET($A$5,0,31*($A$3-1)+1,1,31)) - 31
函数不稳定,您在电子表格中没有任何样本数据并附有说明什么是预期的结果,你没有提供任何其他暗示公式应该计算什么
FTR:请注意2015年12月1日是星期二,而不是我打开电子表格时显示的星期日(虽然我没有启用宏)...
如果我正确理解用例,我建议您使用辅助行(例如第4行)来插入列的实际日期,然后您可以使用以下(非数组)公式:
offset