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

求助:在Google Sheets中实现国家编码与HS编码分组统计及金额求和

问题描述

我有一份包含国家编码(country code)、**海关编码(hs-code)和金额(price)**三列的文件,每一行对应一条订单记录,包含产品原产国编码、海关编码及订单金额。我需要统计不同「国家编码+海关编码」组合的出现次数,并计算每组的总金额。目前我能找到实现分组的方法,但没法同时完成分组后的金额求和。


解决思路与实现方案

方法一:Excel 数据透视表(适合非编程场景)

直接用Excel的透视表就能一步完成,操作步骤:

  1. 选中所有数据区域(包含表头)
  2. 点击菜单栏「插入」→「数据透视表」,按提示选择放置位置
  3. 在右侧「字段列表」中:
    • 将「国家编码」「海关编码」拖到「行」区域
    • 将「金额」拖到「值」区域两次:
      • 第一次点击值区域的「金额」,选择「值字段设置」→ 改成「计数」,重命名为「出现次数」
      • 第二次同样操作,选择「求和」,重命名为「总金额」
  4. 调整格式后就能得到你要的统计结果

方法二:Python pandas(编程实现,灵活高效)

如果用Python处理,pandas库的分组聚合可以轻松实现:

import pandas as pd

# 读取文件(假设是CSV格式,其他格式可换read_excel等)
df = pd.read_csv("你的文件名.csv")

# 按国家编码+海关编码分组,同时统计次数和总金额
result = df.groupby(["country code", "hs-code"]).agg(
    出现次数=("price", "count"),
    总金额=("price", "sum")
).reset_index()

# 保存结果到新文件
result.to_csv("统计结果.csv", index=False)
  • 代码说明:groupby指定分组的两列,agg里分别对price列做计数(统计出现次数)和求和(计算总金额),reset_index把分组的列变回普通列,方便查看和保存。

方法三:Shell awk命令(Linux/macOS命令行快速处理)

如果习惯用命令行,awk可以直接处理文本文件:

awk -F ',' '{  # 假设文件是逗号分隔,分隔符可根据实际修改
    key=$1","$2;  # 用国家编码+海关编码作为唯一键
    count[key]++;  # 统计组合出现次数
    total[key]+=$3;  # 累加组合的总金额
} END {  # 处理完所有行后输出结果
    print "国家编码,海关编码,出现次数,总金额";
    for(k in count) {
        print k","count[k]","total[k];
    }
}' 你的文件名.csv > 统计结果.csv
  • 注意:如果你的文件不是逗号分隔,把-F ','改成对应的分隔符(比如制表符用-F '\t')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:02:34