MICROSOFT

EP04. “Mod Operator Mod 求余运算符”

首页 Microsoft 工具 Excel · VBA · If Then Statement · EP04
约 4 分钟· #EP04#Excel#If Then Statement
🔒 登录后可标记已读
  • 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:

  1. Mod Operator