有朋友问,这个删除重复项的公式:
=INDEX(A$2:A$100,MATCH(,COUNTIF(B$1:B1,A$2:A$100),))&""
- 到底是什么意思啊?看不懂啊!
- match中第一个参数只有逗号是省略了么?
- 还有整个公式的执行时怎么样过程?
下面,就来说说我解读神难公式经常使用的三个知识点:
一、公式涉及计算逻辑较为复杂,用公式求值看过程
这种情况下,可以使用公式求值的功能一步步查看公式每次的关键计算结果,这样就很容易理解公式的计算过程了,如下图所示:
二、公式较长,理解较难,用Alt Enter换行缩进秒懂公式结构
这种情况,可以考虑使用Alt Enter快捷键对公式进行换行处理——这个快捷键不仅适用于一般的内容换行,在公式内同样适用,然后在每行的开头添加一定数量的空格实现缩进,达到公式层次结构分明的目的,如下图所示:
三、理解但不要使用公式的省略或省写参数
公式内省略或省写参数这种情况其实非常不好,所以我一般建议不要在公式里省略参数,能写明确的一定要写明确,能省的也不要省!公式不仅是自己用的,很多时候是要给别人看的!
当然,有时候是因为别人写了这样的公式,那我们也要学会看得懂。
以这个问题里的公式为例,match函数省略了两个参数(严格来说这种不叫省略,或者应该叫省写,后面再说省略和省写的区别),结果很多人一看就蒙圈了,实际上,match函数的参数有3个,其中第3个参数可以省略。问题中的公式有2个逗号,说明3个参数都是存在的,只是没有把参数的具体值写出来而已,像这种情况,参数存在而没有写具体值的,这个参数的值实际就是0。如下图所示:
接下来,下面再对比一下省略和省写参数的差别,方便大家加深印象:
以上是对一些复杂公式的解读办法,同时也说明了一些写公式时应该注意的问题,希望大家以后写公式时都能遵守一定的规范,不仅方便自己,更能方便别人。