求助:在Google Sheets中编写统计苹果总数及优质苹果数的公式
解决Google Sheets从RAW格式单元格生成Summary统计的问题
看起来你卡在了从单个单元格的RAW格式内容生成统计摘要这一步,我来帮你拆解解决思路——毕竟Google Sheets里处理单个单元格内的批量数据,得先把内容"拆出来"再统计,这可能就是你之前用COUNTIFS没成功的原因!
核心思路
你的需求是把RAW: [原始条目]格式的单元格,转换成Summary: [统计结果],核心步骤是:
- 提取
RAW:后面的原始数据内容 - 对提取出的内容进行统计(按你的需求,比如分组计数、特定条件计数)
- 把统计结果拼接成
Summary:开头的格式
方案1:分组统计所有条目(最常用场景)
如果你的原始内容是逗号分隔的条目(比如RAW: 苹果,香蕉,苹果,橙子),可以用以下公式直接生成分组统计的摘要:
=CONCATENATE("Summary: ", TEXTJOIN(", ", TRUE, QUERY(SPLIT(REGEXEXTRACT(A1, "RAW: (.*)"), ","), "SELECT Col1, COUNT(Col1) GROUP BY Col1 LABEL Col1 '', COUNT(Col1) ''", 0)))
公式拆解:
REGEXEXTRACT(A1, "RAW: (.*)"):精准提取RAW:后面的所有内容(把A1换成你的原始单元格位置)SPLIT(..., ","):把提取到的内容按逗号拆分成独立的条目列表QUERY(...):对拆分后的条目进行分组计数,同时去掉QUERY默认的表头标签TEXTJOIN(", ", TRUE, ...):把每个条目和对应的计数用条目:数量的格式拼接起来,自动忽略空值CONCATENATE("Summary: ", ...):给统计结果加上Summary:前缀
示例效果:
如果A1是RAW: 完成,完成,未开始,进行中,完成,公式会返回:Summary: 完成:3, 未开始:1, 进行中:1
方案2:统计特定条件的条目数
如果你只需要统计某一个特定值的出现次数(比如统计"完成"的次数),可以简化公式:
=CONCATENATE("Summary: 完成次数: ", COUNTIF(SPLIT(REGEXEXTRACT(A1, "RAW: (.*)"), ","), "完成"))
这里用COUNTIF直接对拆分后的条目列表统计特定值,比嵌套多个COUNTIFS更简洁。
适配不同分隔符
如果你的原始内容不是逗号分隔(比如空格、分号),只需要修改SPLIT函数里的分隔符即可,比如空格分隔就改成SPLIT(..., " ")。
内容的提问来源于stack exchange,提问作者Data Learner
相关产品推荐
相关产品推荐

