您的位置:首页 > 其它

另类的日期计算与IF({1,0}…)

2017-08-02 14:43 253 查看
另类的日期计算与IF({1,0}…)
昨天在交流群里看到一个另类的日期计算题目,给小伙伴们分享一下:



 
大致说说题目的意思:
B列是英文简写的月份,需要计算之前一个月的月份,并且结果同样为英文月份,效果如C列所示。
轻音乐响起,思考3分钟……
怎么样,想出怎么计算了吗?这个题目初看是不是无从下手啊?
说说老祝的解法吧:
C2单元格输入以下公式,向下复制。
=TEXT (EDATE (B2&-1,-1),"mmm")
接下来,就大致说说公式的意思。
1、首先用B2&-1,将B2单元格的英文月份转换为"Mar-1"样式的日期,Excel能够正确识别出这样的日期样式。
2、再用EDATE(B2&-1,-1),计算出"Mar-1"之前一个月的日期。
3、最后使用TEXT函数,格式代码使用"mmm",再将日期变成简写的英文月份。
怎么样,我能说明白吗?
 
接下来说说IF({1,0})是怎么回事。
在使用VLOOKUP函数进行逆序查询的时候,经常会看到有高手这样写公式1:



上图中,C:D是数据源,需要根据F2单元格指定的姓名查询对应的职务。
G2单元格的公式为:
=VLOOKUP (F2, IF ({1, 0}, D2:D10, C2:C10), 2,)
通常情况下,VLOOKUP函数被查询的值,需要位于数据源的首列,也就是从左向右查询。但是这个数据源中,需要逆向查询,所以就有了IF({1,0}…)这样的用法。
接下来再给大家讲讲=IF({1,0},……)是啥意思吧。
借用胡剑版主的一句话:“数组公式是需要悟的。”
其实不光是数组公式,普通的公式也需要悟。
 
当明白一个公式的计算结果后,需要慢慢去理解和掌握,直到熟练运用它们。对于较长的公式,我推荐把它大卸八块,然后再来慢慢理解。
 
1、IF(条件值,返回值1,返回值2)
解读上面的公式,首先得弄清楚IF函数的计算原理。这个很简单,查一下帮助就明白:当条件值为真,则结果为返回值1,当条件值为假,则结果为返回值2。
这个函数实际上可以说成“如果......那么......,否则......”的语句形式。
即:如果条件值为真,则等于 值1,否则等于 值2。
例如:
IF (10>5, 10, 20) =10
IF (10>20, 10, 20) =20
IF (True, 10, 20) =10
IF (False, 10, 20) =20
 
2、什么是{1,0}
经过前面帖子的学习,我们知道:{1,0}是一个水平方向的一维数组,它有两个值,一个是1,另一个是0。
这里的{1,0}是用来做IF函数的第一个参数,1代替的是“真”,即True,0代替的是“假”,即False。
例如:
IF (1, 10, 20) =10
IF (0, 10, 20) =20
在公式中,数值只有0才能代替False,但并不是只有1才能代替True,所有非0的数值都可以代替True。
例如:
IF (-1, 10, 20) =10
IF (0.2, 10, 20) =10
 
3、什么是{=IF({1,0},D2:D10,C2:C10)}
用了数组{1,0}作IF函数的第一参数,实际上这个公式可以分成两个公式,即:
IF (1, D2:D10, C2:C10)
IF (0, D2:D10, C2:C10)
两个公式的计算结果分别为:
IF (1, D2:D10, C2:C10) =D2:D10
IF (0, D2:D10, C2:C10) =C2:C10
这也是IF({1,0},D2:D10,C2:C10)公式的返回结果。
所以,这个公式实际上是调换两列数据的位置,不知道这样的解释对大家是否有帮助?
 
群福利

群号码:615147109
1. Office安装程序及激活。
2. PPT模版,简历模版。
3. 原创图文教程。
4. 微软认证讲师直播
9046
公开课。
5. 微软认证讲师微课录像。
6. 微软认证讲师在线答疑。
7. 图片、图标素材。
8. 结识更多Excel大神。
9. 结交更多上进的小伙伴。
进群下载素材,进行练习:419562729

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: