excel2007灵活计算2个日期之间的工作日
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个函数:
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所示:
2、公式说明:公式 =COUNTIFS(D2:D12,"广州") 只有一个条件区域/条件对,条件区域为 D2:D12,条件为“广州”,是用文字作条件,并且可以在文字前面加等号,即 =COUNTIFS(D2:D12,"=广州");另外,仅数值也可以作条件。
(二)有两个条件区域/条件对
1、假如要统计“销售地区”为“广州”且销量大于等于 500 的服装件数。把公式 =COUNTIFS(D2:D12,"广州",F2:F12,">=500") 复制到 F13 单元格,按回车,返回统计结果为 3,操作过程步骤,如图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所示:
2、按回车,返回结果 1,如图4所示:
3、如果要统计以一个指定字(或词)开头且以另一个指定字(或词)结果的服装件数,例如统计以“粉”字开头且以“衬衫”结尾的服装件数,公式可以这样写:=COUNTIFS(B2:B12,"粉*衬衫")。
(四)条件为空、不为空和不等于
1、假如要统计“分类”不等于“衬衫”且“销量”为空的服装件数。把公式 =COUNTIFS(C2:C12,"<>衬衫",F2:F12,"") 复制到 F13 单元格,按回车,返回统计结果 2,操作过程步骤,如图5所示:
2、如果要统计“分类”不等于“衬衫”且“销量”不为空的服装件数,则公式可以这样写:=COUNTIFS(C2:C12,"<>衬衫",F2:F12,"<>"&""),如图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所示:
2、用CountIfs函数写要简单得多,且它们的计算顺序是一样的,都先统计满足第一个条件的个数,再统计满足第二个条件的件数,因此遇到多个条件的情况,可以先选用CountIfs函数。
******************************************* END *********************************************
excel2007灵活计算2个日期之间的工作日的更多相关文章
- 用VBA计算两个日期之间的工作日(去掉周末两天)
最近公司HR和Finance想算员工的工作天数,想让我帮忙写些VBA,自己从网上找了下代码,自己再改改,以下来自网络. 计算两个日期之间的工作日,用VBA,因量大,最好用数组做 Sub kk() Di ...
- mysql 计算两个日期之间的工作日天数
创建透视表t500 建表 CREATE TABLE `t500` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE ...
- java中计算两个日期之间天数的程序设计。
//用java编写出一个以下方法计算两个日期之间天数的程序设计. import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...
- java计算两个日期之间相隔的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- java计算两个日期之间相隔的月份(向下取整)
最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...
- JS计算两个日期之间的天数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 计算两个日期之间相差的年数月数天数(JS实现)
前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400) 所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...
- c#后台计算2个日期之间的天数差
/ 计算2个日期之间的天数差 DateTime dt1 = Convert.DateTime("2007-8-1"); DateTime dt2 = Convert.DateTi ...
- 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss
/** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...
随机推荐
- 打造更好用的 EF 自动审计
打造更好用的 EF 自动审计 Intro 上次基于 EF Core 实现了一个自动审计的功能,详细可以参考 https://www.cnblogs.com/weihanli/p/auto-audit- ...
- 蘑菇街CEO陈琪上市致辞:科技是生产力 美丽也是生产力
雷帝网 乐天 12月7日报道 蘑菇街CEO陈琪今日在纽交所上市致辞时表示,蘑菇街的使命是让时尚触手可及,立志成为最领先的时尚目的地,并把"科技是生产力,美丽也是生产力"作为蘑菇街价 ...
- Azkaban3.81.x部署+坑
一.前提安装 1.1 Java1.8环境搭建 1) 下载jdk1.8并解压: # tar -zxvf jdk-8u201-linux-i586.tar.gz -C /usr/local 2) 添加Ja ...
- Codeforces 1291 Round #616 (Div. 2) B
B. Array Sharpening time limit per test1 second memory limit per test256 megabytes inputstandard inp ...
- 一只简单的网络爬虫(基于linux C/C++)————线程相关
爬虫里面采用了多线程的方式处理多个任务,以便支持并发的处理,把主函数那边算一个线程的话,加上一个DNS解析的线程,以及我们可以设置的max_job_num值,最多使用了1+1+max_job_num个 ...
- docker部署gitlab
Docker部署gitlab 一.前提条件 (1) 存在docker (2) 服务器可以联网(外网) (3) 服务器内存至少4G(内存不够会出现502错误) 内存不足502错误 ...
- c/c++获取文件夹下所有文件名
如何获取某一文件夹下所有文件名,是一个很有意思的问题.网上代码很多,找了个简单的,特此收录. #include <iostream> #include <io.h> #incl ...
- windows脱密码总结
方式1:通过SAM数据库获得本地用户HASH sam文件:是用来存储本地用户账号密码的文件的数据库system文件:里面有对sam文件进行加密和加密的密钥 利用方式: 导出sam和system: re ...
- Hadoop入门学习笔记-第二天 (HDFS:NodeName高可用集群配置)
说明:hdfs:nn单点故障,压力过大,内存受限,扩展受阻.hdfs ha :主备切换方式解决单点故障hdfs Federation联邦:解决鸭梨过大.支持水平扩展,每个nn分管一部分目录,所有nn共 ...
- Python 爬取豆瓣电影Top250排行榜,爬虫初试
from bs4 import BeautifulSoup import openpyxl import re import urllib.request import urllib.error # ...