请教高手、大侠、前辈们一个很菜的问题!

leiwulong 2003-09-29 11:38:51
请教高手、大侠、前辈们:

如何在EXCEL中实现对某列,或者某个区域中的值进行条件判断后再计算呢?

就有些类似FOXBASE中的repl 命令

1、比方说 我用EXCEL调出某单位人员基本状况 我要给 所有职称是工程师的增加30%

的工资;
2、拖动选择了矩形块儿,或者按住CTRL选择了某些单元格,我就想对这些单元格中的数据进行,有条件或者无条件的 计算 比如在现有值的基础上增加 5%
用EXCEL如何实现?如果不能,用VBA该如何写这个通用的程序呢?

...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leiwulong 2003-10-01
  • 打赏
  • 举报
回复
测试的过程中,程序2、和先在剪贴板复制一个数,然后选择性粘贴,再选择运算方法得到结果;的时候问题就出来了:如果顺次选择列或者规则矩形块,结果正确;但如果选择多列的不规则单元格(我先选择了A列2行的向下的5个单元格,然后再按住CTRL键,选择B列、C列、A列的另几个单元格,等等)结果就会随机的对某个,或者某几个的单元格的值计算2次,也就得出了错误的结果。(office97环境下测试,)
这是怎么回事儿呢?难道是OFFICE中的BUG?
很高兴认识各位热心的兄弟,:)

祝愿,各位在今后的日子里,事事顺!步步高!


雷武龙 10月1日 敬上



大雄 2003-10-01
  • 打赏
  • 举报
回复
问题2也可以在任意单元格输入1.05,按Ctrl+C复制后,选定那些要加5%的单元格,用右键点击在菜单里选择"选择性粘贴"->在"运算"里选择"乘"。
大雄 2003-10-01
  • 打赏
  • 举报
回复
我就给 wl3721的语句加点注释和补充吧
'问题1
Sub 加工资()
j = 1 'j表示<职称>所在的列数,1表示第1列即列A,如果j没赋值就会编译错误
For i = 1 To 20 'i表示行,这里表示第1到第20行,你根据实际调整
If Cells(i, j).Value = "工程师" Then
Cells(i, j + 3).Value = Cells(i, j + 3).Value * 1.3
'j+3表示<工资>所在列数,这里是假设它在职称后第3列,你根据实际调整

End If
Next
End Sub


'问题2
Sub 加()
For Each mycell In Selection
mycell.Value = mycell.Value * 1.05 '我的机子不加.value算不了
Next
End Sub


klbt 2003-09-30
  • 打赏
  • 举报
回复
设A列为职称,B列为工资,C列为计算列

在C1列设置公式:
IF(A:A="工程师",B:B*1.3,B:B)
然后拖动即可。

一定能行!
leiwulong 2003-09-30
  • 打赏
  • 举报
回复
IF(C2='工程师',D2*1.3,D2)
zzzhang(平安)兄的做法,达不到效果哦:(

wl3721() 兄,的循环可否给出注释? 我搞不大懂语法 程序总是编译错误

达不到效果
zzzhang 2003-09-29
  • 打赏
  • 举报
回复
上句输入错误
在空列中用IF语句,IF(单元格="工程师",工资*1.3,工资)
zzzhang 2003-09-29
  • 打赏
  • 举报
回复
在空列中用IF语句,IF(单元格="工程师,工资,工资)
hot.wind 2003-09-29
  • 打赏
  • 举报
回复
'问题1
for i = 1 to 20
if cells(i,j) = "工程师"
cells(i,j+3) = cells(i,j+3) * 1.3
end if
next

'问题2
for each mycell in selection
mycell = mycell*1.05
next
你想当“李逍遥”式的“大侠”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧