You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets:拆分指定行单元格内容并求和的单公式实现

单个公式实现分子求和后计算总平均值

针对你要计算A1:D1区域所有分数的分子总和除以分母总和的需求,以下是不同Excel版本的单个公式方案:

Excel 365/2021 及以上版本(支持TEXTSPLIT函数)

直接用TEXTSPLIT拆分每个分数的分子和分母,分别求和后相除:

=SUM(--TEXTSPLIT(A1:D1,"/"))/SUM(--TEXTSPLIT(A1:D1,"/",,2))
  • TEXTSPLIT(A1:D1,"/") 将每个单元格的分数拆分为分子、分母组成的二维数组
  • -- 把拆分后的文本转换为数值
  • 第一个SUM计算所有分子的总和(4+4+3+4=15),第二个SUM计算所有分母的总和,最终得到15/35的结果

旧版Excel(无TEXTSPLIT函数)

用FILTERXML结合TEXTJOIN实现拆分:

=SUM(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN("/",TRUE,A1:D1),"/","</s><s>")&"</s></t>","//s[position() mod 2=1]"))/SUM(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN("/",TRUE,A1:D1),"/","</s><s>")&"</s></t>","//s[position() mod 2=0]"))
  • TEXTJOIN("/",TRUE,A1:D1) 将所有分数拼接成一个连续的字符串
  • SUBSTITUTE把拼接后的字符串转换为XML格式的节点
  • FILTERXML通过XPath表达式分别提取奇数位置的分子和偶数位置的分母,再各自求和后相除

注意事项

如果单元格中的分数是Excel数值格式(而非文本格式),需要先用TEXT函数将数值转换为分数文本,公式调整为:

=SUM(--TEXTSPLIT(TEXT(A1:D1,"#/#"),"/"))/SUM(--TEXTSPLIT(TEXT(A1:D1,"#/#"),"/",,2))

内容的提问来源于stack exchange,提问作者Alessandro Gaballo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:54:54