文档详情

excel中evaluate函数求文本型公式的计算结果.doc

发布:2017-06-07约2.11千字共4页下载文档
文本预览下载声明
如何实现evaluate函数用来求相邻单元格文本型数学表达式的计算结果。 定义内存数组 鼠标放在G4单元格,同时按下Ctrl+F3(或者“插入-名称-定义”); 在名称栏输入任意一个名称,这里输o; 在引用位置栏输入=evaluate(substitute(substitute(1#仓库计算式表格 !f4,[,*istext([),],]))) ( ①substitute(text,old_text,new_text,instance_num) 在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE。 Text为需要替换其中字符的文本,或对含有文本的单元格的引用;Old_text为需要替换的旧文本;New_text用于替换 old_text 的文本;Instance_num为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 Text 中出现的所有 old_text。 ②istext(value)当value值为文本时,返回true(值1),否则返回false(值0) ③evaluate为宏表函数””,0,o) 或者=if(iserror(o),””,o) (iserror用来检验错误值的函数,当值为任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!)时返回true) 即可求出F4单元格公式的计算结果。 类似的,也可求得其其它相邻单元格里公式表达式的值, 单元格的下方有一个小方点,按着鼠标左键往下拖动直到结束。””,0,o)的计算步骤如下: G4=if(”165*2+180*2+27*2+(14+12)*3[直管]”=””,0,o) G4=if(FALSE,0,o) G4= o G4=evaluate(substitute(substitute(1#仓库计算式表格 !F4,[,*istext([),],]))) G4= evaluate(substitute(substitute(”165*2+180*2+27*2+(14+12)*3[直管]”,[,*istext([),],]))) G4= evaluate(substitute(”165*2+180*2+27*2+(14+12)*3*istext(””[直管]”,],])) G4= evaluate(”165*2+180*2+27*2+(14+12)*3*istext(””[直管])”) G4= 165*2+180*2+27*2+(14+12)*3*istext(””[直管]) G4= 165*2+180*2+27*2+(14+12)*3*1 G4=822 (注意:“工具-公式审核-公式求值”可检查公式的计算过程) Excel中,在A1单元格里写有以下内容:3*(4+5)-5^2,如何在B1单元格里求出其结果? 可用evaluate函数实现: 1、定义内存数组。选择B1单元格,然后按快捷键 Ctrl+F3,在名称里面随便写上一个名字,比如X;在引用位置里输入 =evaluate(A1),点击添加。关闭“定义名称”。 2、在B1单元格里输入 =IF(ISERROR(X),,X) ,即可求出A1单元格里公式的计算结果。这里结果为 2。 3、类似的,只要在本工作表中的任意位置输入 =IF(ISERROR(X),,X) ,就可求得其同一行左边相邻单元格里公式表达式的值。 通过对如何计算文本形式的公式? 的学习,我们知道了宏表4.0函数EVALUATE可以得出“文本公式”的计算结果。 但令人苦恼的是,这个函数受公式长度限制,只能计算长度255字符以内的文本公式(见测试)。 下面,告诉你们一个小技巧解决这个问题: 【测试】:A1输入=REPT(1+,127)1,那么将产生字符长度为2*127+1=255个字符的1+1+1……的文本公式,此时用EVALUATE定义的名称是可以得出结果的。但将127改为128或者将1改为10达到256个字符,Evaluate得到的就是#VALUE!错误。 【解决】 步骤1、B1输入==A1,如有其他公式,向下复制。如果A列本身就带=号而设为文本格式,则可之用用=A1或跳过此步骤。直接复制A列贴到B列(因为A列是要留下来让别人看计算明细的)。 步骤2、复制B列,选择型粘贴为“值” 步骤3、选择B列,数据→分列→完成。 【受限】不能随着A列公式的更改变化结果,呵呵。因而,有兴趣的可以录制一个宏来完
显示全部
相似文档