excel公式中日期的处理引发的探索
发布时间:2022-12-08 15:26:23
excel公式中日期的处理引发的探索!我们知道,在Excel中,日期是以序号数字来存储的,虽然你在工作表中看到的是“2020-3-31”,而Excel中存储的实际上是“43921.00”,整数部分是日期的序号,小数部分是当天时间的序号。这样方便了日期的表示和存储,但也同样带来了一些问题,例如我们以为是“2020-3-31”,因此会将数据直接与之比较,导致错误的结果。本文举一个案例来解公式中日期的处理方式。
如下所示,计算2020年3月31日对应数据的平均值。
如果使用数组公式:
=AVERAGE($A$2:$A$20=2020-3-31,B2:B20)
得到的结果是不正确的。这个公式相当于求单元格区域B2:B20的数值的平均值:
=SUM(B2:B20)/19
首先看看Average函数的语法:
AVERAGE(number1, [number2], …)
其中:
1. 参数number1,必需,想求平均值的数字、单元格引用或单元格区域。
2. 参数number2, …,可选,其他想求平均值的数字、单元格引用或单元格区域。参数个数最大可达255个。
AVERAGE将对函数或提供的区域中的数字求和,然后除以该区域中的条目或单元格的数量。
我们看上面的公式,给AVERAGE函数提供了两个单元格区域,即:
区域1:$A$2:$A$20=2020-3-31
区域2:B2:B20
1. 对于$A$2:$A$20=2020-3-31,将解析为数组:
{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
本来我们以为单元格区域A2:A20中的前6个单元格应该与2020-3-31相匹配,但事实上返回FALSE,这表明不匹配。
如果我们将其修改为:$A$2:$A$20=”2020-3-31″,仍会被解析为数组:
{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
仍然与该区域前6个单元格不匹配。
我们再将其修改为:=$A$2:$A$20=DATE(2020,3,31),将解析为数组:
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
可以看到,已正确与该区域相应的6个单元格相匹配。
2. 对于区域B2:B20,将解析为数组:
{10552.52;10564.38;10567.33;10611.84;10624.69;10642.15;10685.98;10733.67;10779.17;10741.98;10785.89;10888.83;10836.15;10841.21;10850.36;10895.86;10907.42;10856.63;10927.07}
即由该区域单元格中的值组成的数组。
3. 因此,对于数组公式:
=AVERAGE($A$2:$A$20=2020-3-31,B2:B20)
使用上述中间数组替换:
=AVERAGE({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},{10552.52;10564.38;10567.33;10611.84;10624.69;10642.15;10685.98;10733.67;10779.17;10741.98;10785.89;10888.83;10836.15;10841.21;10850.36;10895.86;10907.42;10856.63;10927.07})
返回不正确的结果10752.27。
4. 我们来看看正确的公式:
=AVERAGE(IF($A$2:$A$20=DATE(2020,3,31),$B$2:$B$20))
这也是一个数组公式。
如果单元格区域A2:A20中的值与日期“2020年3月31日”匹配,则返回TRUE,否则返回FALSE。传递给IF函数后,返回单元格区域B2:B20中对应的值,并对这些值求平均值。公式解析过程如下:
=AVERAGE(IF($A$2:$A$20=DATE(2020,3,31),$B$2:$B$20))
解析为:
=AVERAGE(IF({TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},{10552.52;10564.38;10567.33;10611.84;10624.69;10642.15;10685.98;10733.67;10779.17;10741.98;10785.89;10888.83;10836.15;10841.21;10850.36;10895.86;10907.42;10856.63;10927.07}))
转换为:
=AVERAGE({10552.52;10564.38;10567.33;10611.84;10624.69;10642.15;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE})
得到正确的结果10593.82。等价于公式:
=AVERAGE(B2:B7)
5. 我们注意到,上面的公式中我们没有提供IF函数的参数value_if_false的值,这是有原因的。
如果我们添加IF函数的参数value_if_false,将公式修改为:
=AVERAGE(IF($A$2:$A$20=DATE(2020,3,31),$B$2:$B$20,0))
会得到不正确的结果3345.42。
这是因为IF函数会将条件为FALSE的值等于0,这样上述公式解析为:
=AVERAGE({10552.52;10564.38;10567.33;10611.84;10624.69;10642.15;0;0;0;0;0;0;0;0;0;0;0;0;0})
所得结果为上述值求和后除以19,而不是6。
与上述IF函数没有指定参数value_if_false的值相比较,可以看出,AVERAGE函数忽略提供给其的数组中的FALSE值,并且不会将其计入要平均的数值。
6. 其实,Excel 2007及以后的版本中引入了一个函数AVERAGEIFS,可以很好地解决上述问题,其公式为:
=AVERAGEIFS(B2:B20,A2:A20,DATE(2020,3,31))
或者:
=AVERAGEIFS(B2:B20,A2:A20,”2020-3-31″)


猜你喜欢
- 在当今社会上,打印店成为了每个地方的必备店铺。不管是学生或者工作者提交作业或者文件报告,都需要将文档打印出来,有时候人们在政府提交某个文件的
- win7系统是一款非常人性化的系统,很多的设置用户们都可以按照自己的习惯来进行个性化设置,今天小编就为大家带来了win7电脑屏保关闭设置感兴
- wps表格在打印时,默认是每一页都打印表头的,如果我们只需第一页打印表头,应该如何设置呢?下面就让小编告诉你wps表格如何设置打印第一页表头
- 要使用本计算机,用户必须输入用户名和密码选项不见了怎么办?当我们在取消win10电脑的开机密码时,发现“要使用本计算机,用户必须输入用户名和
- Word2003首字下沉怎么设置1、将光标定位到要使用首字下沉的段落中,然后选择“格式”菜单中的“首字下沉”。 2
- word作为办公软件使我们经常用到的软件之一,那么word2007怎么使用查找替换功能?下面小编就为大家详细介绍一下,不会的朋友可以参考本文
- 曾是否遇上过Office文档(包括Word、Excel、PPT三大类文档)遭遇灾难性破坏的时刻,让你进入上天下地求助无门的无穷?寰?U盘无端
- PPT如何制作3D立体图形?相信有很多用户对于PPT这款软件并不会陌生,并且很多用户都是用过,那么当我们在需要去使用PPT制作3D立体图形时
- 每台计算机在最开始的时候微软都会给计算机安装上一些广告,比如开始菜单里的一些推荐软件。除了开始菜单的广告,还有右下角出现的“建议”,实则是广
- Excel2010带来了不小的改变,界面功能都有很大的提高,今天我们先来了解下Excel2010的工作界面,如图1所示。 &nb
- 我们在编辑word文档的会给文档添加图片来增加图片来增加文档的观赏度,单一的插入图片并不能增加图片的外观效果,这个时候我们可以给图片增加立体
- 大多数拥有内置摄像头的Windows版本笔记本和桌面设置都会配有专门的LED指示灯,能够让用户方便直观的了解到相机的运行状态是否处于启用状态
- 平时大家在使用WPS制作PPT文档的时候,如果想把多张图片放在一页中,直接放上去,图片又小又不整齐,那么该怎么办呢?今天小编就来教大家怎么在
- 描述:excel2019使用高级筛选查找多个对应结果方法步骤:先查看表格,我们要找出所有方位为南的对应结果 在旁边
- 小编今天给大家介绍一下,怎样让win10系统的开机速度更加的快和高效 操作步骤:1.我们首先进入到Win10系统的传统桌面上,然
- win10小娜是win10系统自带的语言功能,这个功能有的人喜欢,有的也不喜欢,不过一般而言,win10小娜不会影响用户的使用体验,但是有的
- Win7电脑桌面新建里面没有wps怎么解决?WPS是一款强大免费的办公软件,用户在WPS安装之后,软件会自动添加到桌面右键新建菜单中,但是有
- 什么是套打:套打其实就是事先印制有凭证、帐簿、报表格式的纸张,进行打印的一种打印方式。套打这种打印方式在打印时,无须打印表格的表格线及其他固
- 亲淘添加好友的方法?亲淘为用户及时推送淘系活动大促销、优惠活动、特价商品等,还为用户打造更简约、便捷的买卖家的沟通体验。亲淘要怎么添加好友呢
- 当我们需要将数据从表格当中转移到文档当中,用逗号隔开,该如何便捷的操作呢,今天我们就来教大家,如何将数据的回车键转换成逗号呢,一起来学习一下