基于Frequency列计算Monthly与Annually成本总计的最优公式
分组计算Cost总计的最优方案
原始数据表格
| Frequency | Cost |
|---|---|
| Monthly | 10.99 |
| Annually | 11.99 |
| Monthly | 12.99 |
| Annually | 13.99 |
| Monthly | 10.99 |
目标结果表格(替换X后)
| Monthly Total | Annually Total |
|---|---|
| 34.97 | 25.98 |
针对电子表格工具(Excel/Google Sheets)的最优公式
对于200+行的数据集,原生条件求和函数性能最优,推荐使用:
- 计算Monthly总计:
=SUMIF(A:A, "Monthly", B:B)
(A列为Frequency列,B列为Cost列,函数会匹配所有值为"Monthly"的行,对对应Cost列求和) - 计算Annually总计:
=SUMIF(A:A, "Annually", B:B)
如果使用支持动态数组的版本(Excel 365/Google Sheets),也可以用更直观的组合写法:
- Monthly总计:
=SUM(FILTER(B:B, A:A="Monthly")) - Annually总计:
=SUM(FILTER(B:B, A:A="Annually"))
针对编程处理(Python)的最优方案
如果需要批量自动化处理,用pandas库的分组求和效率最高,代码示例:
import pandas as pd # 假设数据已加载到DataFrame df中,列名为Frequency和Cost grouped_totals = df.groupby('Frequency')['Cost'].sum() monthly_total = grouped_totals['Monthly'] annually_total = grouped_totals['Annually']
该方案可轻松处理上万行数据,逻辑清晰且易维护。
内容的提问来源于stack exchange,提问作者goose84
相关产品推荐
相关产品推荐

