网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月05日漏签0天
excel吧 关注:281,452贴子:1,551,438
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 9回复贴,共1页
<<返回excel吧
>0< 加载中...

关于表达式计算成结果的最终解决方法汇总

  • 只看楼主
  • 收藏

  • 回复
  • qianboccp
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一楼献给百度


  • qianboccp
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在我们工作中有时候会遇见表达式比如:3+9*5-6+7*8这样的式子,需要快速得到结果。
1、方法一:evaluate函数
WPS直接可以使用evaluate函数,office必须在名称管理器里面添加才可以使用,
优点:简单易上手
缺点:不能有任何标注,不能是有×÷号(当然可以通过替换处理掉),最长表达式不能超过255字节。
2、方法二:=号激活法
优点:简单易上手,表达式没有字节限制。
缺点:不能有任何标注,不能是有×÷号(当然可以通过替换处理掉)
3、方法三:VBA法
Sub ccp()
Dim RegExp As Object
Set RegExp = CreateObject("VBScript.RegExp")
For t = 1 To Range("A65536").End(xlUp).Row
Cells(t, 1) = StrConv(Cells(t, 1), vbNarrow) '把计算式里的全角“(”、“)”都转化为半角“(”、“)”
Cells(t, 1) = Replace(Cells(t, 1), "", "")
Cells(t, 1) = Replace(Cells(t, 1), "÷", "/")
Cells(t, 1) = Replace(Cells(t, 1), "×", "*")
With RegExp
.Global = True
.Pattern = "\[.*?\]|[\u4e00-\u9fa5]|\{.*?\}"
Cells(t, 2) = .Replace(Cells(t, 1), "")
Cells(t, 3).Formula = "=" & Cells(t, 2)
End With
Next
End Sub

优点:简单,表达式没有字节限制。表达式可以有文字注释,可以有×÷号、括号
缺点:对VBA不懂的人来说稍微难一点。
4、方法四:excelhome终极方法


优点:简单,表达式没有字节限制。表达式可以有文字注释,可以有×÷号、括号,内置excel内,和excel函数一样
缺点:目前未发现。


2025-08-05 00:31:44
广告
不感兴趣
开通SVIP免广告
  • qianboccp
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一下


  • qianboccp
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
继续顶


  • 吃饭别玩手机
  • E通百通
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个excelhome自定义函数与第三个VBA有啥区别吗


  • liangts6
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
excel中如何做到在每次清除f列内容后自动将e2单元格公式填充到地f列整列?


  • 朱科技
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
VB写那么好,羡慕。羡慕


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示