Excel | 数据输入不规范,部分带数量单位,怎么计算平均值?
某公司进行员工考核,数据录入不规范,部分分数带有数量单位“分”。现需要计算员工平均考核分数。
第一步:统一去单位:
数量单位“分”,是文本,不能参与计算。所以,在写公式时,首先要把单位去除。
去除单位文本用SUBSTITUTE函数:
{=SUBSTITUTE(B2:B10,"分",)},因为是数组计算,所以CTRL+SHIFT+ENTER结束,如下图:
第二步:计算平均值
在B11单元格输入公式:
{=AVERAGE(--SUBSTITUTE(B2:B10,"分",))},
(CTRL+SHIFT+ENTER结束)
其中:
{=--SUBSTITUTE(B2:B10,"分",)},公式内“--”称为“减负运算”,{=SUBSTITUTE(B2:B10,"分",)}的结果是一串文本,前面加一个“-”,是通过取负数将文本转换成数值,再加一个“-”,即负负得正。
“--减负运算”常用于公式中把文本转换为数字。
第三步:规范数据,保留两位小数
将上一步B11单元格输入公式完善为:
{=ROUND(AVERAGE(--SUBSTITUTE(B2:B10,"分",)),2)},保留两位小数,如下结果:
SUBSTITUTE函数:
在某一文本字符串中替换指定的文本。
语法
SUBSTITUTE(text, old_text, new_text, [instance_num])
SUBSTITUTE 函数语法具有下列参数:
文本必需。 需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。
old_text必需。 需要替换的文本。
new_text必需。 用于替换 old_text 的文本。
Instance_num可选。 指定要用 new_text 替换 old_text 的事件。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。
特点
1、区分大小写和全角半角:当text中没有包含 old_text指定的字符串时,函数结果与text相同;
2、当第三个参数为空文本或是省略,而只保留参数前的逗号时,相当于将old_text替换;
3、当第四个参数省略,text中与 old_text相同的文本将被替换;
4、如果第四个参数有指定,比如“2”,则只有第二次出现的old_text被替换。
以上四个特点举例如下: