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

如何在Google Sheets中提取斜杠后数字并求最大值与平均值

在Google Sheets中提取斜杠后数字并计算最大值/平均值(正则多值遍历实现)

核心思路

通过正则表达式批量提取所有单元格中斜杠(/)后的数字,将这些数字整理为一维数组后,直接用MAX和AVERAGE函数计算结果。


1. 提取所有斜杠后的数字集合

假设你的数据存储在A1:A10区域,使用以下公式可以提取所有符合要求的数字:

=FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, REGEXREPLACE(A1:A10, "[^/]*?/(\d+)", "$1 ")), " "))

公式拆解:

  • REGEXREPLACE(A1:A10, "[^/]*?/(\d+)", "$1 "):遍历每个单元格,匹配任意非斜杠字符+斜杠+数字的片段,只保留斜杠后的数字并添加空格分隔
  • TEXTJOIN(" ", TRUE, ...):将所有单元格处理后的内容拼接成一个长字符串,自动忽略空单元格
  • SPLIT(..., " "):按空格拆分字符串,得到分散的数字文本
  • FLATTEN(...):将拆分后的多维数组转换为一维数组,方便后续计算

2. 计算最大值

将提取数组直接传入MAX函数即可:

=MAX(FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, REGEXREPLACE(A1:A10, "[^/]*?/(\d+)", "$1 ")), " ")))

如果提取的数字以文本格式存在,MAX会自动转换为数值计算;若存在非数字干扰项,可嵌套VALUE函数强制转数值:

=MAX(VALUE(FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, REGEXREPLACE(A1:A10, "[^/]*?/(\d+)", "$1 ")), " "))))

3. 计算平均值

同理,使用AVERAGE函数:

=AVERAGE(FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, REGEXREPLACE(A1:A10, "[^/]*?/(\d+)", "$1 ")), " ")))

注意事项

  • 若单元格内存在多个斜杠(如a/12/b/34),上述正则会提取所有斜杠后的数字(示例中为12和34)
  • 如果斜杠后可能出现非数字内容,正则/(\d+)确保只捕获连续数字部分,避免无效内容混入
  • 调整公式中的数据区域(A1:A10)为你实际使用的范围即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:40:24