|
大家都说回写公式难,遇到回写公式出错分析时更难
这里给大家推荐一个特别好用的工具,回写分析函数mflog()
使用方法举例:
比如我有3条公式,执行回写后发现第2条公式执行后没效果,那为题出在哪儿了,如何检查呢?
1.禁用公式1和3,只执行公式2,定位是否真的是公式2自己的问题
2.定位确实是公式2没执行,然后检查公式是否有执行条件,是否操作不符合执行条件,如果没有直接条件或已符合执行条件,那么就在过滤或者赋值的编辑公式中添加回写分析函数mflog(),如果不能确定执行条件是否符合,就直接在执行条件编辑公式中添加回写分析函数mflog()
这里我用执行条件举例,过滤或赋值公式也是一样的
原始公式:if($MF(状态)$="是",true,false)
添加回写分析函数mflog():mflog(if($MF(状态)$="是",true,false),"序号="&$MF(序号)$&",状态="&$MF(状态)$)
注意,mflog()函数就2个参数,第一个参数就是原始公式,所以大家可以看到我的第一个参数就是if整个函数,第二个参数则是要求公式执行到当前时刻时,在系统回写日志中返回一条日志信息,日志信息反馈什么呢,就是第二个参数我们要定义的,我这里就是返回两个值了,我想让系统返回当前触发记录的序号和状态,以便于我判断当前的执行公式是否执行
那么公式编辑就是一整条公式格式,作为一个参数:"序号="&$MF(序号)$&",状态="&$MF(状态)$
返回的日志值会是这样:序号=0001,状态=是
日志怎么看呢?
首先编辑好mflog()函数,此函数是不会影响正常公式执行的,因为第一个参数就是正常公式执行
然后到系统设置-回写日志中,启用回写日志
再执行一遍公式操作,再回到系统设置-回写日志界面
即可看到新返回的日志信息:序号=0001,状态=是
这样咱们的目的就达成了,通过反馈的日志信息,就能判断回写公式问题出在哪儿了 |
|