背景:计算Excel表格中大量时间的平均值,时间格式为xx小时xx分钟,无法直接使用AVERAG函数求平均值。借助字符串提取函数MID、FIND转换时间为数字格式后进行计算。
使用函数:MID、FIND、AVERAGE
EXCEL帮助文档中的语法:
MID(text, start_num, num_chars),MIDB(text, start_num, num_bytes)
文本必需。 包含要提取字符的文本字符串。
start_num必需。 文本中要提取的第一个字符的位置。 文本中第一个字符的 start_num 为 1,以此类推。
num_chars必需。 指定希望 MID 从文本中返回字符的个数。
Num_bytes必需。 指定希望 MIDB 从文本中返回字符的个数(字节数)。
FIND(find_text, within_text, [start_num]),FINDB(find_text, within_text, [start_num])
find_text必需。 要查找的文本。
within_text必需。 包含要查找文本的文本。
start_num可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。
A列为原始数据,B列为提取的小时字段,C列为提取的分钟字段,并转化为小时为单位,D列时间求和以小时为单位。其实也可以将B、C列的公式合并至D列,之所以拆分是为了方便确认数据及调整公式。
B列公式:=MID(A34,1,FIND("小",A34)-1)
C列公式:=MID(A34,FIND("时",A34)+1,2)/60