Excel常用技能分享与探讨(5-宏与VBA简介⑤ VBA-运算符)

Excel常用技能分享与探讨(5-宏与VBA简介⑤ VBA-运算符)一 从厨房理解运算符 生活化类比 场景设定 想象你在烹饪 Excel 数据大餐运算符类型厨房工具功能演示 VBA 代码示例加法 搅拌器合并面粉 数据 总价 单价 运费减法 过滤筛分离杂质 筛选数据 净利润 营收 成本乘法

欢迎大家来到IT世界,在知识的湖畔探索吧!

一、从厨房理解运算符(生活化类比)

场景设定:想象你在烹饪Excel数据大餐

运算符类型

厨房工具

功能演示

VBA代码示例

加法(+)

搅拌器

合并面粉(数据)

总价 = 单价 + 运费

减法(-)

过滤筛

分离杂质(筛选数据)

净利润 = 营收 – 成本

乘法(*)

烤箱

批量生产(重复计算)

总产量 = 日产量 * 天数

除法(/)

量杯

精确分配(比例计算)

人均成本 = 总成本 / 人数

连接(&)

裱花袋

组合食材(拼接文本)

姓名 = 姓氏 & ” ” & 名字

Excel常用技能分享与探讨(5-宏与VBA简介⑤ VBA-运算符)

欢迎大家来到IT世界,在知识的湖畔探索吧!


二、运算符类型全解析(带记忆口诀)

2.1 算术运算符

运算符

功能描述

示例代码

特殊说明

+

加法/字符串连接

总价=单价+运费

文本相加需用&

减法/负号

温差=最高温-最低温

可处理日期计算

*

乘法

面积=长*宽

支持科学计数法

/

浮点除法

平均分=总分/人数

结果保留小数

\

整数除法

整箱数=总数\12

直接取整去尾

Mod

取余运算

余数=100 Mod 7 → 2

常用于周期计算

^

幂运算

复利=本金*(1+利率)^年数

优先级高于乘除

' 基础四则运算 Range("D2") = Range("B2") + Range("C2") ' 加 Range("E2") = Range("D2") * 0.1 ' 乘 ' 进阶操作 剩余天数 = 30 - Day(Date) ' 减 平均分 = (数学 + 语文 + 英语) / 3 ' 除

欢迎大家来到IT世界,在知识的湖畔探索吧!

记忆口诀
“加减乘除幂(^)取余(Mod),先算括号再乘除,同级运算从左数”

2.2 比较运算符

欢迎大家来到IT世界,在知识的湖畔探索吧!If 销售额 > 10000 Then ' 大于 Range("A1").Font.Color = vbGreen ElseIf 库存量 <= 安全库存 Then ' 小于等于 Range("B2").Interior.Color = vbRed End If

符号速记表

运算符

功能描述

ASCII码比较示例

注意事项

=

等于

“A” = “a” → False(计算机判断为不等于)

区分字符大小写

<>

不等于

100 <> 99 → True(计算机判断100不等于99为正确)

支持所有数据类型

>

大于

“B” > “A” → True(计算机判断为正确,因为B的ASCII值大于A的ASCII值)

文本按字典序比较

<

小于

#2/1# < #3/1# → True(计算机判断2月1号小于3月1号为正确)

日期可比较

>=

大于等于

5 >= 5 → True(计算机判断5>=5为正确)

不可写为=>

<=

小于等于

6 <= 5 → False(计算机判断6<=5是错误的)

不可写为=<

Excel常用技能分享与探讨(5-宏与VBA简介⑤ VBA-运算符)

2.3 逻辑运算符

And,表示几个条件同时满足才可以。

Or,表示几个条件只有有一个条件满足就行。

Not,表示“不是”。

If (年龄 >= 18) And (信用分 > 80) Then ' 同时成立 放款额度 = 月收入 * 12 ElseIf 紧急程度 Or 特批标志 Then ' 任一成立 加急处理 End If

真值表速查

A

B

A And B

A Or B

True

True

True

True

True

False

False

True

False

False

False

False

2.4 特殊运算符

连接符“&”,举个比较恶心的例子,都看过人体蜈蚣这部电影吧,这个运算符的效果就和那差不多,把字符或字符串连接到一起组成一个新的字符或字符串。

Like,可以理解为模糊匹配,运算符用于判断一个字符串是否与指定的模式相匹配。具体看以下例子。

IS,可以理解为“是”,运算符用于比较两个对象的引用是否相同。具体看以下例子。

欢迎大家来到IT世界,在知识的湖畔探索吧!' 连接符 客户全名 = Range("A1") & "-" & Range("B1") ' Like模糊匹配 If 产品型号 Like "A*2024" Then ... ' 匹配A开头2024结尾 ' Is判断对象 If Range("A1") Is Nothing Then ... 

三、优先级陷阱(真实案例)

3.1 错误示范

' 意图:计算(3+5)*2=16 错误结果 = 3 + 5 * 2 ' 得到13 ' 正确写法 正确结果 = (3 + 5) * 2

3.2 优先级金字塔

以下示例中“–>”可以立即为“优先于”

欢迎大家来到IT世界,在知识的湖畔探索吧![括号] --> [指数运算^] [指数运算^] --> [乘除*/] [乘除*/] --> [整除\] [整除\] --> [取余Mod] [取余Mod] --> [加减+-] [加减+-] --> [字符串连接&] [字符串连接&] --> [比较运算符] [比较运算符] --> [逻辑Not] [逻辑Not] --> [逻辑And] [逻辑And] --> [逻辑Or]

四、实训练习场

案例1:智能BMI计算器

Sub 计算BMI() Dim 身高m As Double Dim 体重kg As Double 身高m = Range("B2") / 100 ' 厘米转米 体重kg = Range("C2") Range("D2") = 体重kg / (身高m ^ 2) End Sub

▶ 知识点:指数运算/单位转换

案例2:快递费用计算

欢迎大家来到IT世界,在知识的湖畔探索吧!If 重量 > 5 Then 费用 = 10 + (重量 - 5) * 2 ' 首重5kg10元,超重每kg2元 Else 费用 = 10 End If

▶ 知识点:复合运算/条件判断


五、常见错误

症状1:类型不匹配

' 错误代码 年龄 = "25岁" If 年龄 > 18 Then... ' 报错:文本与数字比较 ' 修复方案 年龄 = CInt(Replace("25岁", "岁", ""))

症状2:隐式转换陷阱

欢迎大家来到IT世界,在知识的湖畔探索吧!MsgBox "100" + 50 ' 结果150(自动转数字) MsgBox "100" & 50 ' 结果"10050"(转文本连接)

症状3:优先级误解

' 意图:判断成绩在60-80之间 If 60 < 成绩 < 80 then... if> 60 And 成绩 < 80 Then...

六、调试工具箱

6.1 立即窗口实验
按Ctrl+G输入测试:

欢迎大家来到IT世界,在知识的湖畔探索吧!? 3 + 5 * 2 ' 验证优先级 ? "A" & 123 ' 观察自动转换 ? 5 > 3 And 4 < 2 ' 测试逻辑运算

6.2 分步执行观察
按F8逐行运行代码时:

  • 悬停变量查看实时值
  • 右键表达式→快速监视

6.3 括号可视化

' 复杂表达式拆解 原式 = 5 + 3 * 2 ^ 2 / 4 ' 添加辅助括号 阶段1 = 2 ^ 2 ' 4 阶段2 = 3 * 阶段1 ' 12 阶段3 = 阶段2 / 4 ' 3 结果 = 5 + 阶段3 ' 8

Excel常用技能分享与探讨(5-宏与VBA简介⑤ VBA-运算符)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/118163.html

(0)
上一篇 6小时前
下一篇 5小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信