Microsoft Lab
全部软件
Excel条件判断(If Then Statement)约 4 分钟

Mod Operator 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 当成普通除法 / 使用——Mod 只返回余数,不返回商,两者用途完全不同
  • 判断整除性时忘记 = 0 这个条件,直接写 If x Mod 4 Then 会导致逻辑相反(VBA 会把非 0 当 True)
  • 除数写错(比如想判断能否被 4 整除却写成 Mod 2),结果会算出完全不相关的整除关系

Sources

Blog / Website:

  1. Mod Operator
只记在你的浏览器里,换设备不会同步。