声明 Function Evaluate ( _ Name As Object _ ) As Object 用法 Dim instance As _Application Dim Name As Object Dim returnValue As Object returnValue = instance.Evaluate(Name)
Evaluate函数不是通常可以在公式栏里面运行的函数
Evaluate函数必须和名称配合使用
Evaluate函数可以将单元格中的表达式直接运算得出结果
我们模拟一下应用场景:乘积
录入数据时直接录入的运算符号我们要获得计算结果
我们定义一个名称:ev_1
=EVALUATE(Sheet1!D3)
注意要去掉位置锁定符号$,这样这个名称就可以在其他的单元格使用。
接着在公式栏里输入:=ev_1,就直接得出结果了。
看到这个我们会想到符号分列,然后用Average计算平均值
Average(4,5,6)
如果前面的单元中是上面的样子,我们就可以直接用刚才的ev_1来计算了。
=EVALUATE("average("&Sheet1!D3&")")
我们用字符串链接的方式组合出来,定义成:ev_av
这样就可以方便的计算出平均值了,也可以用这个方法来计算其他的统计值。
还可以再增加难度么?
答案是必须的:非标准的分割符号如何计算
把逗号替换成“*”就好了
=EVALUATE(SUBSTITUTE(Sheet1!J12,",","*"))
用上面的公式定义:ev_s
既然如此,是不是平均值的非标准分隔符的情况也能搞得定?
=EVALUATE("average("&SUBSTITUTE(Sheet1!D8,";",",")&")")
使用这个定义ev_avs我们来试一试
能不能成呢?
今晚的Evaluate实验大获全胜
我们又多了一个Excel利器
好像我们可以自定义函数一样,不用通过VBA
用名称管理器,自定义自己需要的函数,来计算数据,输出结果。
,