如何展示拥有相同变量的行?基于供应商编码匹配对应使用部门
实现方案
无需使用循环实现,循环处理大体量数据效率极低,优先采用分组统计+过滤的逻辑,性能更高,以下是不同常用工具的实现方式:
Excel 实现(适用于非技术、小体量数据集场景)
- 新增辅助列,命名为「供应商关联部门数」,在首行数据单元格输入公式:
=COUNTIF(A:A,A2)(假设A列为供应商编码列,可根据你的实际列号调整),下拉填充全量数据 - 选中全表,对「供应商关联部门数」列做筛选,仅保留数值≥3的行即可得到目标结果
Python 实现(适用于百万级及以上大体量数据集场景)
基于pandas库处理,核心逻辑为先统计每个供应商的去重使用部门数量,过滤出符合要求的供应商后,匹配对应全量关联部门数据:
import pandas as pd # 读取数据集,替换为你的实际文件路径 df = pd.read_excel("你的数据集文件路径.xlsx") # 筛选出被3个及以上部门使用的供应商 qualified_vendors = df.groupby("vendor_code")["department"].nunique()[lambda x: x >= 3].index # 过滤出符合要求的供应商对应的所有关联部门数据 result_df = df[df["vendor_code"].isin(qualified_vendors)] # 导出结果到文件 result_df.to_excel("筛选结果.xlsx", index=False)
SQL 实现(适用于数据存储在业务数据库的场景)
假设你存放数据的表名为vendor_usage,包含字段vendor_code(供应商编码)、department(使用部门),查询语句如下:
SELECT * FROM vendor_usage WHERE vendor_code IN ( SELECT vendor_code FROM vendor_usage GROUP BY vendor_code HAVING COUNT(DISTINCT department) >= 3 )
内容的提问来源于stack exchange,提问作者Imane
相关产品推荐
相关产品推荐

