本文总共1301个字,阅读需5分钟,全文加载时间:2.685s,本站办公入门专栏收录该内容! 字体大小:

文章导读:大家好呀,我是小 E ~ 相信大家都遇到过一个问题:长公式写着写着就不知道自己写哪里了。 哎,长公式逻辑出错,真的困扰着太多人啦! 别急,我们一起看看, Excel 进阶训练营讲师、秋叶 Excel 系列课程讲师——拉……各位看官请向下阅读:

大家好呀,我是小 E ~

相信大家都遇到过一个问题:长公式写着写着就不知道自己写哪里了。

哎,长公式逻辑出错,真的困扰着太多人啦!

别急,我们一起看看, Excel 进阶训练营讲师、秋叶 Excel 系列课程讲师——拉登老师有什么好办法!

01

问题说明

学习函数公式的时候,经常遇到的问题是:

感觉自己公式学得差不多了,但是写公式的时候总是出错,也不知道错误在哪里。

前两天就有位网友向我提问,一个关于生日提醒的公式问题。

公式出错了↑

图片中的公式是这样的:

=TEXT(TEXT(C4,”mm-dd”)-TODAY(),”0天后生日,,今天生日”)

你能找出公式里的错误吗?

太难了!

这个公式难点在哪里呢?

对,太长了,逻辑复杂,错误的原因有多种可能,排查起来非常困难。

长公式里面有很多的公式嵌套,参数非常多,如果还包含一些数字常量,逻辑关系非常容易出错。

02

解决方法

那么怎么样解决长公式难题呢?我总结了一个套路,可以简化长公式。

❶ 整理公式逻辑;
❷ 编写分解公式;
❸ 整合分解公式,输出长公式。

我们用这个生日提醒的案例,把这个套路验证一下。

整理公式逻辑 ◆

首先,我在幕布里,整理公式逻辑的思维导图,这个长公式大致可以分成 3 个步骤。

这个步骤,应该不难理解。

第 1 步,提升出生日期中的生日信息;
第 2 步,计算生日和今天相差天数;
第 3 步,根据相差天数,进行生日提醒。

编写分解公式 ◆

接下来,我们根据这几个步骤,编写分解的公式。

第 1 步,是提取生日信息。

我们假设出生日期是 2013-11-30,并定义它为变量 A。

接下来是从出生日期 A 当中提取生日信息。

方法有很多,可以用 RIGHT 函数,这里我们借助于 TEXT 函数来完成。

在 TEXT 函数中,使用 mm-dd 的格式代码,就把日期当中的月和日给提取出来了。

第 2 步,计算生日和今天相差天数。

首先,获取今天的日期,这个很简单用 TODAY()函数,我们假设保存到 C 变量中。

然后,计算生日和今天日期相差的天数,直接用生日 B,减去今天日期 C 就可以了。

我们假设,得到的结果放在 D 变量中。

第 3 步,生日提醒。

这逻辑有一点点复杂,不过看上面的逻辑图,也不难理解,公式当中我是这么实现的。

用了 3 个 IF 函数来进行不同条件的判断。相差天数 D=3,也就是 D>0,那么提醒的结果应该是「3 天后生日」。

没错的,不过这也有些复杂,如果把这 3 个 IF 函数嵌套在一起,结果会更复杂,变成这个样子。

太长了,所以这里我使用一个更简单的 TEXT 函数,我们先看一下公式。

这里的重点在于第 2 个参数,这是一个条件格式代码,不同条件之间用分号间隔,条件判断的规则是这样的。

两个分号之间对应的分别是 >0; <0 ; =0 时显示的不同内容,用下面这个动态图表看起来会更加直观。

所以,我们把最后一步的公式改成这样。

这样我们就把分解的公式写完了。

整合分解公式,输出长公式 ◆

分解公式之间是相互引用的,我们把引用的位置,换成对应单元格的公式,就可以输出长公式。

最后我们得到的长公式就是这样的。

填充公式之后,正确返回了对应的结果。

今天的分享到这里就结束啦,大家有没有学到写长公式的套路呢?

想要从零系统学习Excel,查看本站上方“视频教程”获取最新秋叶Office三合一办公应用课程!

以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!

你可能对这些文章感兴趣:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注