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. Shiro(二):Spring-boot如何集成Shiro(上)

    这篇文章主要介绍了spring-boot是如何集成shiro的authentication流程的. 从shiro-spring-boot-web-starter说起 shiro-spring-boot ...

  2. 学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程

    Step 1 你得有Eclipse 没有出门右拐,我教不了你. Step 2 你得有Mysql MySQL的详细安装过程,我在另一篇博客中给出.戳我 Step 3 安装JDBC 可以去官网下,如果用的 ...

  3. [bzoj5329] P4606 [SDOI2018]战略游戏

    P4606 [SDOI2018]战略游戏:广义圆方树 其实会了圆方树就不难,达不到黑,最多算个紫 那个转换到圆方树上以后的处理方法,画画图就能看出来,所以做图论题一定要多画图,并把图画清楚点啊!! 但 ...

  4. P3807【模板】卢卡斯定理

    题解大部分都是递归实现的,给出一种非递归的形式 话说上课老师讲的时候没给代码,然后自己些就写成了这样 对于质数\(p\)给出卢卡斯定理: \[\tbinom{n}{m}=\tbinom{n \bmod ...

  5. JDK 配置环境变量

    1.配置环境变量 右击 我的电脑 --> 属性 --> 高级系统设置 --> 高级 --> 环境变量 在系统变量里新建 JAVA_HOME 变量,变量值如下 D:\work_s ...

  6. C :uthash

    参考: [1] uthash | 学步园 [2] 源码 [3] 官方文档 [4] [5] 一.哈希表的概念及作用 在一般的线性表或者树中,我们所储存的值写它的存储位置的关系是随机的.因此,在查找过程中 ...

  7. Codeforces Round #563 (Div. 2) A-D

    A. Ehab Fails to Be Thanos 这个A题很简单,就是排个序,然后看前面n个数和后面的n个数是不是相同,相同就输出-1 #include <cstdio> #inclu ...

  8. LeetCode--Array--Remove Duplicates from Sorted Array (Easy)

    26. Remove Duplicates from Sorted Array (Easy) Given a sorted array nums, remove the duplicates in-p ...

  9. Qt之connect

    Qt4之connect 基本用法 connect(ui->toolButton, SIGNAL(clicked()), this, SLOT(OnClickButton())); disconn ...

  10. Qt和JS的交互

    参考文章:https://www.cnblogs.com/lgxZJ/archive/2017/12/31/8158132.html Qt和JavaScript的交互 Qt提供了对JS的良好支持,有两 ...