如何基于谷歌表格文本数字求和公式计算平均值
Google Sheets 文本内数字平均值计算公式修改方案
修改后的公式
=ArrayFormula({"AVERAGE"; IFERROR(INT(MMULT(ARRAY_CONSTRAIN(SPLIT(REGEXREPLACE(A2:A,"[^\d]+","~")&REPT("~0",25),"~"),COUNTA(A2:A),25),SEQUENCE(25,1,1,0)) / IF(A2:A="",0,LEN(REGEXREPLACE(REGEXREPLACE(A2:A,"[^\d]+","~"),"[^~]",""))+1)),0)})
公式说明
- 保留原求和逻辑:通过正则替换拆分文本中的数字,用
MMULT完成多列数字求和,确保准确计算所有数字的总和 - 数字个数统计:
- 第一次正则替换
REGEXREPLACE(A2:A,"[^\d]+","~"):将所有非数字字符替换为分隔符~,把文本中的数字单独分隔出来 - 第二次正则替换
REGEXREPLACE(..., "[^~]",""):去掉所有非~的字符,只保留分隔符 LEN(...) +1:分隔符的数量比数字个数少1,因此加1得到实际的数字数量;同时用IF(A2:A="",0,...)处理空单元格的情况
- 第一次正则替换
- 平均值计算:用总和除以数字个数,
INT()将结果转为无小数的整数,IFERROR()处理无数字时的除零错误,返回0
测试示例
若单元格内容为5、3、8:
- 总和为16,数字个数为3
- 16÷3≈5.333,经
INT()处理后返回5,符合需求
内容的提问来源于stack exchange,提问作者Tyler Lee
相关产品推荐
相关产品推荐

