计算没有Holiday& amp;的细胞数据周末

时间:2015-05-20 04:03:19

标签: excel excel-formula formula formulas array-formulas

我想只计算没有颜色单元格,这表示工作日和颜色单元格是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

2 个答案:

答案 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