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

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

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何实现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列公式的更改变化结果,呵呵。因而,有兴趣的可以录制一个宏来完

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档