C1单元格公式:=NETWORKDAYS(A1,B1,$F$2:$F$10)+COUNTIFS($I$2:$I$3,">="&A1,$I$2:$I$3,"<="&B1),如下图所示

解析:

1、使用NETWORKDAYS函数计算2个日期之间的工作日(去除了周末,但是没有处理调休)

2、使用 countifs 函数加上调休补班的日期

=====================================================================

用到2个函数:

1)NETWORKDAYS

2)COUNTIFS

***********************************************NETWORKDAYS******************************************

NETWORKDAYS(start_date,end_date,holidays)

参数说明:

start_date:表示开始日期。

end_date:表示结束日期。

holidays:在工作日中排除的特定日期。

公式 =NETWORKDAYS(A1,B1,$F$2:$F$10)

表示计算A1,B1这2个日期之间去除周末(周六、周日)以及F2-F10这些日期的天数

*********************************************** CountIfs *************************************************

一、CountIfs函数语法

1、表达式:COUNTIFS(Criteria_Range1, Criteria1, [Criteria_Range2, Criteria2], …)

中文表达式:COUNTIFS(条件区域1, 条件1, [条件区域2, 条件2], …)

2、说明:

A、条件区域和条件组成一个条件区域/条件对,至少包含一个条件区域/条件对,最多只能有 127 个条件区域/条件对。

B、如果有多个条件区域,每个条件区域必须有相同的行数和列数,它们可以不相邻。

C、如果单元格为空,CountIfs 将它的值视为 0。

D、在条件中可以使用通配符问号(?)和星号(*),问号表示任意一个字符,星号表示一个或一串字符;如果要查找问号或星号,需要在它们前面加转义字符~,例如查找问号,表达式可以这样写 ~?。

二、CountIfs函数的使用方法及实例

(一)只有一个条件区域/条件对

1、假如要统计“销售地区”为“广州”的个数。选中 D13 单元格,输入公式 =COUNTIFS(D2:D12,"广州"),按回车,返回统计结果 4;操作过程步骤,如图1所示:

图1

2、公式说明:公式 =COUNTIFS(D2:D12,"广州") 只有一个条件区域/条件对,条件区域为 D2:D12,条件为“广州”,是用文字作条件,并且可以在文字前面加等号,即 =COUNTIFS(D2:D12,"=广州");另外,仅数值也可以作条件。

(二)有两个条件区域/条件对

1、假如要统计“销售地区”为“广州”且销量大于等于 500 的服装件数。把公式 =COUNTIFS(D2:D12,"广州",F2:F12,">=500") 复制到 F13 单元格,按回车,返回统计结果为 3,操作过程步骤,如图2所示:

图2

2、公式中第一个条件区域/条件对为 D2:D12,"广州",第二个条件区域/条件对为 F2:F12,">=500",即先统计 D2:D12 中为“广州”的个数,再统计 F2:F12 中销量大于等于 500 的个数;条件2 ">=500" 也可以用 ">="&500。

(三)用通配符问号与星号组合条件

1、假如要统计以“T恤”结尾、以“白”字开头、仅有三个字的服装件数;把公式 =COUNTIFS(B2:B12,"*T恤",B2:B12,"白*",B2:B12,"???") 复制到 B13 单元格,如图3所示:

图3

2、按回车,返回结果 1,如图4所示:

图4

3、如果要统计以一个指定字(或词)开头且以另一个指定字(或词)结果的服装件数,例如统计以“粉”字开头且以“衬衫”结尾的服装件数,公式可以这样写:=COUNTIFS(B2:B12,"粉*衬衫")。

(四)条件为空、不为空和不等于

1、假如要统计“分类”不等于“衬衫”且“销量”为空的服装件数。把公式 =COUNTIFS(C2:C12,"<>衬衫",F2:F12,"") 复制到 F13 单元格,按回车,返回统计结果 2,操作过程步骤,如图5所示:

图5

2、如果要统计“分类”不等于“衬衫”且“销量”不为空的服装件数,则公式可以这样写:=COUNTIFS(C2:C12,"<>衬衫",F2:F12,"<>"&""),如图6所示:

图6

(五)CountIfs 与 Average 组合使用

1、假如要统计“分类”为“T恤”、销售地区为“杭州”且大于平均销量的服装件数。把公式 =COUNTIFS(C2:C12,"T恤",D2:D12,"杭州",F2:F12,">"&AVERAGE(F2:F12)) 复制到 F13 单元格,按回车,返回结果 2,操作过程步骤,如图7所示:

 

2、在条件中,只需用 & 连接 > 与求平均值的函数 Average,如果要用其它函数也是一样的连接方法。

三、CountIfs函数与CountIf函数用多条件的比较

1、CountIfs函数可轻松组合多个条件,而CountIf函数需要用数组才能组合多个条件。假如要统计销量大于等于 500 且小于等于 800 的服装件数。用 CountIfs函数公式可这样写:=COUNTIFS(F2:F12,">=500",F2:F12,"<=800"),而用 CountIf函数,公式需要这样写:=SUM(COUNTIF(F2:F12,{">=500",">800"})*{1,-1}),两个公式统计结果都为 4;操作过程步骤,如图8所示:

图8

2、用CountIfs函数写要简单得多,且它们的计算顺序是一样的,都先统计满足第一个条件的个数,再统计满足第二个条件的件数,因此遇到多个条件的情况,可以先选用CountIfs函数。

******************************************* END *********************************************

excel2007灵活计算2个日期之间的工作日的更多相关文章

  1. 用VBA计算两个日期之间的工作日(去掉周末两天)

    最近公司HR和Finance想算员工的工作天数,想让我帮忙写些VBA,自己从网上找了下代码,自己再改改,以下来自网络. 计算两个日期之间的工作日,用VBA,因量大,最好用数组做 Sub kk() Di ...

  2. mysql 计算两个日期之间的工作日天数

    创建透视表t500 建表 CREATE TABLE `t500` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE ...

  3. java中计算两个日期之间天数的程序设计。

    //用java编写出一个以下方法计算两个日期之间天数的程序设计. import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...

  4. java计算两个日期之间相隔的天数

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  6. JS计算两个日期之间的天数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 计算两个日期之间相差的年数月数天数(JS实现)

    前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400)  所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...

  8. c#后台计算2个日期之间的天数差

    / 计算2个日期之间的天数差 DateTime dt1 = Convert.DateTime("2007-8-1");  DateTime dt2 = Convert.DateTi ...

  9. 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss

    /** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...

随机推荐

  1. 对话Roadstar投资人:一家自动驾驶公司之死(三) ...

    11. Roadstar 如何收场? 雷锋网:你觉得 Roadstar 造成今天这样的局面,是什么导致的? 投资人代表 1:刚才我们也数次表达了,在每个人身上,可能每个人的诉求,不能达到同步,与公司的 ...

  2. RHCS图形界面建立GFS共享下

    我们上面通过图形界面实现了GFS,我们这里使用字符界面实现 1.1.       系统基础配置 5台节点均采用相同配置. 配置/etc/hosts文件 # vi /etc/hosts 127.0.0. ...

  3. 使nfs同步生效

    我们在使用nfs的时候会遇到往nfs server端写个文件,client需要很久才能生效,我们想让立刻生效有两种办法:1.mount -t nfs -o noac IP:/data/xxxx /xx ...

  4. 用Swoole4 打造高并发的PHP协程Mysql连接池

    码云代码仓库:https://gitee.com/tanjiajun/MysqlPool 代码仓库:https://github.com/asbectJ/swoole4.git 前言 在写这篇文章之前 ...

  5. Codeforce-Ozon Tech Challenge 2020-A. Kuroni and the Gifts

    the i-th necklace has a brightness ai, where all the ai are pairwise distinct (i.e. all ai are diffe ...

  6. JavaScript从入门到精通(转)

    JavaScript从入门到精通 转自: https://github.com/Eished/JavaScript_notes 视频连接:https://www.bilibili.com/video/ ...

  7. 08_CSS入门和高级技巧(6)

    排查错误 Chrome浏览器的审查功能. 错误1:选择器写错了,压根没有选择上: 如果写了一个错误的选择器, <style type="text/css"> dvi p ...

  8. Spark离线日志分析,连接Spark出现报错

    首先,我的代码是这样的 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ...

  9. pthon-安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示“This application failed to start because no Qt platform plugin could be initialized.Reinstalling the application the application may fix this program”

    最近学习python,安装网上教程一步一步的安装,网上很多帖子都写的非常详细,不由深深感慨多谢各位不辞辛苦的记录,指导着来自新入门的同学. 但是实际安装中,最理想莫过于一次性安装成功,但自己安装就出现 ...

  10. Nuget一键打包上传以及高级应用

    Nuget是什么不用多说,大家应该也没少用过Nuget, 不少人也应该使用过工具打Nuget包,接下来先一步步说明如何使用脚本完成Nuget一键打包 Nuget一键打包 配置Nuget环境 下载地址: ...