ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3482|回复: 11

[求助] 如何让括号内的数字进行增/减运算

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-8-2 07:31 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我是在word中编辑的,因总人数减少,需要在每一组里减少人数。
比如:
第一组(8人)→第二组(7人)

大神们,帮帮忙,先谢谢了

TA的精华主题

TA的得分主题

发表于 2016-8-2 08:15 | 显示全部楼层
不太明白题意
算我自娱自乐吧
SUBSTITUTE(A1,MID(A1,FIND("(",A1)+1,FIND("人)",A1)-FIND("(",A1)-1),MID(A1,FIND("(",A1)+1,FIND("人)",A1)-FIND("(",A1)-1)-1)

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-2 08:25 | 显示全部楼层
问山8828680 发表于 2016-8-2 08:15
不太明白题意
算我自娱自乐吧
SUBSTITUTE(A1,MID(A1,FIND("(",A1)+1,FIND("人)",A1)-FIND("(",A1)-1), ...

谢谢您的答复
可我是在word
然后就是把数字相应的减少1,比如选择区域内相应减少1,8变为7,15变为14,20变为19

TA的精华主题

TA的得分主题

发表于 2016-8-2 11:10 | 显示全部楼层
下列代码供测试:
  1. Sub NumsMinusOne()
  2.     Dim wRng As Range, eRng As Range
  3.     If Selection.Type = wdSelectionIP Then Exit Sub
  4.     Set wRng = Selection.Range
  5.     Set eRng = wRng.Duplicate
  6.     With eRng.Find
  7.         .ClearFormatting
  8.         .Replacement.ClearFormatting
  9.         Do While .Execute("[0-9]{1,}", , , True)
  10.             eRng = Val(eRng) - 1
  11.             eRng.SetRange eRng.End, wRng.End
  12.         Loop
  13.     End With
  14. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-2 11:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
kqbt 发表于 2016-8-2 11:10
下列代码供测试:

感谢版主再次出手相助。
另外,括号外的 数字也被替换了,能否再修改一下。
谢谢!

TA的精华主题

TA的得分主题

发表于 2016-8-2 11:38 | 显示全部楼层
菜菜行者 发表于 2016-8-2 11:29
感谢版主再次出手相助。
另外,括号外的 数字也被替换了,能否再修改一下。
谢谢!

测试下列代码前请备份原文档:
  1. Sub NumsMinusOne()
  2.     Dim wRng As Range, eRng As Range
  3.     If Selection.Type = wdSelectionIP Then Exit Sub
  4.     Set wRng = Selection.Range
  5.     Set eRng = wRng.Duplicate
  6.     With eRng.Find
  7.         .ClearFormatting
  8.         .Replacement.ClearFormatting
  9.         Do While .Execute("[\((][0-9]{1,}", , , True)
  10.             eRng.SetRange eRng.Start + 1, eRng.End
  11.             eRng = Val(eRng) - 1
  12.             eRng.SetRange eRng.End, wRng.End
  13.         Loop
  14.     End With
  15. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-2 12:06 | 显示全部楼层
kqbt 发表于 2016-8-2 11:38
测试下列代码前请备份原文档:

欧啦,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-6 10:17 | 显示全部楼层
kqbt 发表于 2016-8-2 11:38
测试下列代码前请备份原文档:

你好,经过多次测试,还是不如意。
代码好像是把完整的数字给分开运算了。
比如
加1:
原始数      运算后       正确应该是
  1                11                   2
   19              110                  20
   29              210                    30

减1:
原始数      运算后       正确应该是
  1                1-1                   0
   10              1-1                   9
   100            1-1                   9   
   109            18                    108

TA的精华主题

TA的得分主题

发表于 2016-8-7 20:47 | 显示全部楼层
菜菜行者 发表于 2016-8-6 10:17
你好,经过多次测试,还是不如意。
代码好像是把完整的数字给分开运算了。
比如

每每看到没有附件的求助帖,总让人心有余而力不足!
你要处理的文档实际情况是怎么样的?最好能上传。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-7 23:12 | 显示全部楼层
本帖最后由 菜菜行者 于 2016-8-8 00:02 编辑
kqbt 发表于 2016-8-7 20:47
每每看到没有附件的求助帖,总让人心有余而力不足!
你要处理的文档实际情况是怎么样的?最好能上传。


下次注意,现补上
数字运算.rar (2.35 KB, 下载次数: 3)

不好意思,是我操作上的失误
其实是数字不在括号里时,就出现了8楼的情况
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 22:39 , Processed in 0.045012 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表