EP04. “Mod Operator Mod 求余运算符”
🔒 登录后可标记已读Mod运算符用来算两个数相除之后的余数- 是判断奇偶数、整除关系的常用工具
- 前置知识:基本的
If Then语法 - 学完能用
Mod写出「是不是偶数」「能不能被某个数整除」这类判断
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
Mod 基础
Mod 返回除法运算的余数:
MsgBox 7 Mod 2
弹窗显示 1,因为 7 除以 2 商 3 余 1。
MsgBox 8 Mod 2
弹窗显示 0,因为 8 除以 2 商 4 余 0(整除)。
判断奇偶数
一个数如果能被 2 整除(余数是 0)就是偶数,否则是奇数:
Dim x As Integer
x = Range("A1").Value
If x Mod 2 = 0 Then
Range("B1").Value = "Even"
Else
Range("B1").Value = "Odd"
End If
在 A1 输入 100,B1 显示 "Even",因为 100 除以 2 没有余数。
判断能否被某数整除
把 Mod 2 换成 Mod 4,逻辑一样,只是改成判断能不能被 4 整除:
Dim x As Integer
x = Range("A1").Value
If x Mod 4 = 0 Then
Range("B1").Value = "Divisible by 4"
Else
Range("B1").Value = "Not divisible by 4"
End If
在 A1 输入 50,B1 显示 "Not divisible by 4",因为 50 除以 4 商 12 余 2,余数不是 0。
怎么运行
Alt + F11 打开 VBA 编辑器,把代码放进按钮点击事件,按 F5 或点命令按钮执行,结果写入 B1(或直接弹窗显示)。
学完你会
- ✅ 会用
Mod算出两数相除的余数 - ✅ 会用
x Mod 2 = 0判断一个数是不是偶数 - ✅ 会把
Mod 2换成Mod 其他数字,判断能不能被该数整除
常见错误
- 把
Mod当成普通除法/使用——Mod只返回余数,不返回商,两者用途完全不同 - 判断整除性时忘记
= 0这个条件,直接写If x Mod 4 Then会导致逻辑相反(VBA 会把非 0 当 True) - 除数写错(比如想判断能否被 4 整除却写成
Mod 2),结果会算出完全不相关的整除关系
Sources
Blog / Website: