分享

哪位高人研究出来的给公式加注释,太直观了!

 Excel不加班 2022-12-24 发布于广东

与 30万 读者一起学Excel

VIP学员的问题,在计算表达式结果的时候,能够自动忽略里面的文字说明。

计算表达式很简单,但是要忽略里面的文字说明,就有点难。如果没接触过这种,会一头雾水。卢子前几年接触过一次,聊一下解决的思路。

如果将公式改成这样,文字说明部分嵌套N,就可以计算。

=1+1.6*0.15+N("[墙长+墙长*墙梁搭接]")

N的作用是什么呢?

N就是将文本转换成0,比如在算累计的时候是不需要C1这个标题的。如果没有这个转换,会出错,文本是不能直接计算的。

=N(C1)+B2

详见文章:史上最简单的N函数,你会吗?

现在思路有了,就是在文字说明前面嵌套一个N函数,还有就是文字说明要加双引号。

文字说明都是固定模式[文字说明],现在要变成+N("[文字说明]"),因此需要进行2次替换。

第1次替换:将左边的[替换成需要的格式。

=SUBSTITUTE($A2,"[","+N(""[")

第2次替换:将右边的]替换成需要的格式。

=SUBSTITUTE(SUBSTITUTE($A2,"[","+N(""["),"]","]"")")

现在就转换成需要的格式,不过计算表达式还需要嵌套EVALUATE函数才能计算。

选择B2,点公式,定义名称,名称输入计算,引用位置写下面的公式,确定。

=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!$A2,"[","+N(""["),"]","]"")"))

现在输入刚刚的名称,就可以计算结果了。

=计算

看到这里,你是否冒出过这样的念头,给公式加注释?

VBA代码加注释是很平常的一件事,让别人能够第一眼就知道代码的意思,也方便后期自己查看。

同理,公式也能加注释,比如对上一行以上的区域求和。

=SUM(B2:INDEX(B:B,ROW()-1))+N("对上一行以上的区域求和")

Excel的计算结果,可以是数字,也可以是文本。文本是无法直接+0的,而再嵌套T函数,可以将0转换成"",这样就能正常。

=TEXTJOIN(",",1,A2:A5)&T(N("将A列的内容合并"))

多观察,多思考,你会看到不一样的Excel世界。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多