490·迷糊的EVALUATE

标签:
evaluatebug |
分类: 公式技巧 |
EVALUATE原只是一个宏表函数。
之所以重要,是过去EXCEL文本函数的火力不足。
人们会利用宏表函数EVALUATE将字符串拆分为数组。
但是,当时EVALUATE只能【定义名称】使用。
这是使用所有宏表函数的必经路径。
至今,微软EXCEL即使是M365版本,EVALUATE也只能这样使用。
只不过,它现在不需要数组公式的三键录入了。
因为有了动态数组的溢出功能。
金山WPS一定是有洁癖的。
它将EVALUATE给转正了(参考《转正的宏表函数》)。
使用EVALUATE再也不用【定义名称】了。
如果到此为止,WPS一定胜出EXCEL一筹。
可是两款软件随后都爆发式地开发了若干文本函数。
如CONCAT,TEXTJOIN,TEXTSPILT,TEXTBEFORE和TEXTAFTER等等。
EVALUATE的作用已经显得没那么重要了。
我猜想,正因为如此,EVALUATE函数的使用频率大幅降低。
这使得它的一些BUG迟迟未被发现或解决。
首先,在用作文本拆分,即将文本拆分成数组过程中,
EVALUATE无法自动溢出
只能三键录入才能显示数组
其次,如果是常量文本数字数组,EVALUATE又能自动溢出了。
但如果是常量文本数组,EVALUATE虽能自动溢出,但结果显示名称错误。
即使三键录入数组公式,也仍然显示名称错误。
WPS新增了一个ARRAYTOTEXT函数,它的第二个参数设置为1时,本来可以返回一个符合EVALUATE参数的格式文本。
但是用ARRAYTOTEXT返回后,无论是数字数组,还是文本数组,都需要三键录入数组公式才能返回所有值。