Google Sheets能否按|拆分数据并按#指定乘数汇总唯一值?
Google Sheets 实现按分隔符拆分、提取乘数并汇总唯一值求和
Google Sheets完全支持你需要的操作,无需复杂步骤,用函数组合就能实现。假设你的原始数据在A列(从A2开始),可以用以下公式直接得到排序后的汇总结果:
=QUERY( ARRAYFORMULA( IFERROR( TRIM(SPLIT(FLATTEN(SPLIT(A2:A, "|")), "#")) ) ), "SELECT Col2, SUM(Col1) WHERE Col2 IS NOT NULL GROUP BY Col2 ORDER BY SUM(Col1) DESC", 0 )
公式说明:
SPLIT(A2:A, "|"):将A列每个单元格的内容按|分隔,拆分出带乘数的子项FLATTEN(...):把拆分后的多行多列数据转为单列,统一处理所有子项TRIM(SPLIT(..., "#")):将每个子项按#拆分,同时用TRIM去除多余空格,得到乘数(Col1)和名称(Col2)ARRAYFORMULA(IFERROR(...)):批量处理所有数据,忽略空值或拆分错误的内容QUERY(...):对处理后的数据做分组汇总,按名称(Col2)分组求和乘数,过滤空值后按求和结果降序排序(如果需要升序,把DESC改成ASC)
如果你的数据没有多余空格,可以去掉TRIM,简化成:
=QUERY( ARRAYFORMULA( IFERROR( SPLIT(FLATTEN(SPLIT(A2:A, "|")), "#") ) ), "SELECT Col2, SUM(Col1) WHERE Col2 IS NOT NULL GROUP BY Col2 ORDER BY SUM(Col1) DESC", 0 )
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

