Excel 高级数学函数 #
函数概览 #
高级数学函数提供了更精确的计算能力,包括四舍五入、取余、绝对值、幂运算等功能。
text
┌─────────────────────────────────────────────────────────────┐
│ 高级数学函数一览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ROUND 四舍五入 =ROUND(3.14159, 2) │
│ ROUNDUP 向上舍入 =ROUNDUP(3.14, 1) │
│ ROUNDDOWN 向下舍入 =ROUNDDOWN(3.19, 1) │
│ INT 取整 =INT(3.9) │
│ TRUNC 截断 =TRUNC(3.9) │
│ MOD 取余 =MOD(10, 3) │
│ ABS 绝对值 =ABS(-5) │
│ POWER 幂运算 =POWER(2, 3) │
│ SQRT 平方根 =SQRT(16) │
│ SIGN 符号 =SIGN(-5) │
│ │
└─────────────────────────────────────────────────────────────┘
ROUND 函数系列 #
ROUND 函数 #
excel
=ROUND(number, num_digits)
参数:
- number: 要四舍五入的数值
- num_digits: 保留的小数位数
- 正数:小数点后位数
- 0:取整
- 负数:小数点前位数
基本用法 #
excel
=ROUND(3.14159, 2) → 3.14 保留2位小数
=ROUND(3.14159, 0) → 3 取整
=ROUND(3.5, 0) → 4 四舍五入
=ROUND(1234, -2) → 1200 舍入到百位
=ROUND(1250, -2) → 1300 舍入到百位
ROUNDUP 函数 #
excel
=ROUNDUP(number, num_digits)
始终向上舍入(远离零的方向)
excel
=ROUNDUP(3.14, 1) → 3.2 向上舍入1位小数
=ROUNDUP(3.11, 1) → 3.2 即使很小也向上
=ROUNDUP(-3.14, 1) → -3.2 负数也向上(远离零)
=ROUNDUP(1234, -2) → 1300 向上舍入到百位
ROUNDDOWN 函数 #
excel
=ROUNDDOWN(number, num_digits)
始终向下舍入(朝向零的方向)
excel
=ROUNDDOWN(3.19, 1) → 3.1 向下舍入1位小数
=ROUNDDOWN(3.99, 1) → 3.9 即使很大也向下
=ROUNDDOWN(-3.19, 1) → -3.1 负数也向下(朝向零)
=ROUNDDOWN(1299, -2) → 1200 向下舍入到百位
三者对比 #
text
数值 ROUND ROUNDUP ROUNDDOWN
3.14159 3.14 3.15 3.14
3.145 3.15 3.15 3.14
3.144 3.14 3.15 3.14
-3.145 -3.15 -3.15 -3.14
实际应用 #
excel
价格舍入到分:
=ROUND(价格, 2)
舍入到元:
=ROUND(价格, 0)
舍入到角:
=ROUND(价格, 1)
向上舍入到整元:
=ROUNDUP(价格, 0)
舍入到千元:
=ROUND(金额, -3)
INT 和 TRUNC 函数 #
INT 函数 #
excel
=INT(number)
将数值向下取整到最接近的整数
excel
=INT(3.9) → 3 向下取整
=INT(3.1) → 3 向下取整
=INT(-3.1) → -4 负数向下(更小)
=INT(-3.9) → -4 负数向下(更小)
TRUNC 函数 #
excel
=TRUNC(number, [num_digits])
截断数值到指定的小数位数
excel
=TRUNC(3.9) → 3 截断小数
=TRUNC(3.14159, 2) → 3.14 截断到2位
=TRUNC(-3.9) → -3 负数截断
=TRUNC(-3.14159, 2) → -3.14
INT vs TRUNC #
text
数值 INT TRUNC
3.9 3 3
3.1 3 3
-3.1 -4 -3
-3.9 -4 -3
区别:
- INT 始终向下取整
- TRUNC 直接截断(朝向零)
实际应用 #
excel
提取整数部分:
=TRUNC(A1)
提取小数部分:
=A1-TRUNC(A1)
=A1-INT(A1) (仅适用于正数)
计算小时数:
=INT(时间*24)
计算分钟数:
=INT((时间*24-INT(时间*24))*60)
MOD 函数 #
语法 #
excel
=MOD(number, divisor)
参数:
- number: 被除数
- divisor: 除数
返回:余数
基本用法 #
excel
=MOD(10, 3) → 1 10÷3=3余1
=MOD(9, 3) → 0 9÷3=3余0
=MOD(7, 3) → 1 7÷3=2余1
=MOD(-10, 3) → 2 结果与除数同号
=MOD(10, -3) → -2 结果与除数同号
实际应用 #
excel
判断奇偶数:
=IF(MOD(A1, 2)=0, "偶数", "奇数")
判断能否整除:
=IF(MOD(A1, B1)=0, "能整除", "不能整除")
每隔N行插入分隔:
=IF(MOD(ROW(), 5)=0, "---", "")
循环计数:
=MOD(ROW()-1, 4)+1 → 1,2,3,4,1,2,3,4...
计算剩余数量:
=MOD(总数, 每组数量)
案例:分组 #
text
数据:
A B
1 序号 分组
2 1 =MOD(A2-1, 3)+1 → 1
3 2 =MOD(A3-1, 3)+1 → 2
4 3 =MOD(A4-1, 3)+1 → 3
5 4 =MOD(A5-1, 3)+1 → 1
6 5 =MOD(A6-1, 3)+1 → 2
实现循环分组:1,2,3,1,2,3...
ABS 函数 #
语法 #
excel
=ABS(number)
返回数值的绝对值
基本用法 #
excel
=ABS(5) → 5
=ABS(-5) → 5
=ABS(0) → 0
=ABS(-3.14) → 3.14
实际应用 #
excel
计算差异(不考虑正负):
=ABS(A1-B1)
计算偏差率:
=ABS((实际-计划)/计划)
判断是否在范围内:
=IF(ABS(A1-B1)<=10, "在范围内", "超出范围")
计算绝对差之和:
=SUMPRODUCT(ABS(A1:A10-B1:B10))
案例:温度变化 #
text
数据:
A B C
1 昨天 今天 变化
2 25 28 =ABS(A2-B2) → 3
3 30 25 =ABS(A3-B3) → 5
4 20 20 =ABS(A4-B4) → 0
POWER 和 SQRT 函数 #
POWER 函数 #
excel
=POWER(number, power)
参数:
- number: 底数
- power: 指数
返回:底数的指数次幂
excel
=POWER(2, 3) → 8 2的3次方
=POWER(10, 2) → 100 10的平方
=POWER(5, 0) → 1 任何数的0次方都是1
=POWER(4, 0.5) → 2 4的平方根
=POWER(2, -1) → 0.5 2的-1次方
使用 ^ 运算符:
=2^3 → 8
=10^2 → 100
SQRT 函数 #
excel
=SQRT(number)
返回数值的平方根
excel
=SQRT(16) → 4
=SQRT(2) → 1.414213562...
=SQRT(0) → 0
=SQRT(-1) → #NUM! 负数不能开平方
安全开方 #
excel
避免负数错误:
=IF(A1>=0, SQRT(A1), "无效")
或:
=SQRT(ABS(A1)) 取绝对值后开方
实际应用 #
excel
计算圆面积:
=PI()*POWER(半径, 2)
=PI()*半径^2
计算圆半径:
=SQRT(面积/PI())
计算立方体体积:
=POWER(边长, 3)
计算勾股定理:
=SQRT(A^2+B^2)
SIGN 函数 #
语法 #
excel
=SIGN(number)
返回数值的符号:
- 正数 → 1
- 零 → 0
- 负数 → -1
基本用法 #
excel
=SIGN(10) → 1
=SIGN(-10) → -1
=SIGN(0) → 0
=SIGN(3.14) → 1
实际应用 #
excel
判断增减:
=SIGN(B1-A1)
正数表示增加,负数表示减少,零表示不变
显示趋势:
=CHOOSE(SIGN(B1-A1)+2, "下降", "持平", "上升")
其他数学函数 #
CEILING 和 FLOOR #
excel
=CEILING(number, significance)
向上舍入到指定基数的倍数
=FLOOR(number, significance)
向下舍入到指定基数的倍数
excel
=CEILING(3.2, 1) → 4 向上舍入到整数
=CEILING(3.2, 0.5) → 3.5 向上舍入到0.5的倍数
=CEILING(7, 3) → 9 向上舍入到3的倍数
=FLOOR(3.8, 1) → 3 向下舍入到整数
=FLOOR(3.8, 0.5) → 3.5 向下舍入到0.5的倍数
=FLOOR(8, 3) → 6 向下舍入到3的倍数
EVEN 和 ODD #
excel
=EVEN(number) 向上舍入到最接近的偶数
=ODD(number) 向上舍入到最接近的奇数
excel
=EVEN(3) → 4
=EVEN(2) → 2
=EVEN(-3) → -4
=ODD(2) → 3
=ODD(3) → 3
=ODD(-2) → -3
FACT 函数 #
excel
=FACT(number)
返回数值的阶乘
excel
=FACT(5) → 120 5! = 5×4×3×2×1
=FACT(0) → 1 0! = 1
=FACT(1) → 1 1! = 1
RAND 和 RANDBETWEEN #
excel
=RAND() 返回 0 到 1 之间的随机数
=RANDBETWEEN(1, 100) 返回 1 到 100 之间的随机整数
excel
生成 0-1 随机数:
=RAND()
生成 1-100 随机整数:
=RANDBETWEEN(1, 100)
生成随机小数(指定范围):
=RAND()*(最大值-最小值)+最小值
生成随机字母:
=CHAR(RANDBETWEEN(65, 90)) 大写字母
函数组合应用 #
精确计算 #
excel
四舍五入后求和:
=SUM(ROUND(A1:A10, 2))
(数组公式)
计算平均并保留2位小数:
=ROUND(AVERAGE(A1:A10), 2)
百分比计算:
=ROUND(A1/B1*100, 2) & "%"
条件计算 #
excel
绝对值大于10的个数:
=SUMPRODUCT(--(ABS(A1:A10)>10))
奇数个数:
=SUMPRODUCT(--(MOD(A1:A10,2)=1))
数据验证 #
excel
检查是否为整数:
=IF(A1=INT(A1), "整数", "非整数")
检查是否为完全平方数:
=IF(SQRT(A1)=INT(SQRT(A1)), "完全平方数", "不是")
实战案例 #
案例1:价格舍入策略 #
text
数据:
A B C
1 原价 策略 结果
2 99.87 四舍五入 =ROUND(A2, 0) → 100
3 99.87 向上取整 =ROUNDUP(A2, 0) → 100
4 99.87 向下取整 =ROUNDDOWN(A2, 0) → 99
5 99.87 舍入到角 =ROUND(A2, 1) → 99.9
案例2:分组编号 #
text
数据:
A B
1 序号 组号
2 1 =CEILING(A2/4, 1) → 1
3 2 =CEILING(A3/4, 1) → 1
4 3 =CEILING(A4/4, 1) → 1
5 4 =CEILING(A5/4, 1) → 1
6 5 =CEILING(A6/4, 1) → 2
每4个一组,组号从1开始
案例3:计算工时 #
text
数据:
A B C
1 开始时间 结束时间 工时(小时)
2 9:00 17:30 =ROUND((B2-A2)*24, 1) → 8.5
3 8:30 18:00 =ROUND((B3-A3)*24, 1) → 9.5
小结 #
高级数学函数提供了精确计算的能力:
| 函数 | 用途 | 示例 |
|---|---|---|
| ROUND | 四舍五入 | =ROUND(3.14, 1) |
| ROUNDUP | 向上舍入 | =ROUNDUP(3.14, 1) |
| ROUNDDOWN | 向下舍入 | =ROUNDDOWN(3.19, 1) |
| INT | 取整 | =INT(3.9) |
| TRUNC | 截断 | =TRUNC(3.9) |
| MOD | 取余 | =MOD(10, 3) |
| ABS | 绝对值 | =ABS(-5) |
| POWER | 幂运算 | =POWER(2, 3) |
| SQRT | 平方根 | =SQRT(16) |
接下来,让我们学习 统计函数,掌握数据分析的核心技能。
最后更新:2026-04-11