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

求实现Excel反向筛选的Formula或VBA:筛选未授权指定产品的企业

实现产品反向筛选:获取未授权指定产品的企业列表

我来给你梳理两种实用的解决方案,不管你是用Excel手动操作,还是用代码自动化处理,都能搞定这个反向筛选需求~

方法一:Excel手动实现(适合非代码用户)

针对你的300家企业、5000行数据的规模,用Excel的内置功能完全能轻松处理:

  • 提取所有唯一企业:把原始表的「企业名称」列复制到新工作表,点击「数据」选项卡的「删除重复值」,就能得到300家企业的唯一列表。
  • 标记已授权目标产品的企业:回到原始表,筛选出「产品名称」等于你指定产品的行,复制这些行的企业名称并去重;在新表的第二列用公式判断,比如输入 =IF(ISNUMBER(MATCH(A2, 已授权企业的单元格区域, 0)), "已授权", "未授权"),下拉填充所有行。
  • 筛选未授权企业:对新表的标记列筛选「未授权」,剩下的就是你要的未授权企业列表了。

小技巧:如果想更高效,还可以用高级筛选结合辅助列:在原始表新增一列,输入 =IF(B2="你要选的产品名", 1, 0),然后对企业列去重后,用 =SUMIF(原始表!A:A, A2, 原始表!C:C) 统计每个企业的授权次数,筛选出结果为0的企业即可。

方法二:Python脚本自动化(适合大数据量快速处理)

如果以后需要频繁做这类反向筛选,或者数据量再扩大,用Python写个小脚本就能一键搞定:

  1. 先确保安装了pandas库,打开命令提示符输入:pip install pandas
  2. 编写如下脚本(适配xlsx格式的表,csv的话把read_excel改成read_csv):
import pandas as pd

# 读取原始数据表
df = pd.read_excel("企业产品订阅表.xlsx")

# 输入要查询的产品名称
target_product = input("请输入要查询的产品名称:")

# 获取所有唯一企业集合
all_companies = set(df["企业名称"].unique())

# 获取已授权该产品的企业集合
authorized_companies = set(df[df["产品名称"] == target_product]["企业名称"].unique())

# 计算未授权企业(集合差集操作)
unauthorized_companies = list(all_companies - authorized_companies)

# 输出结果并保存到文件
print(f"未授权【{target_product}】的企业共有{len(unauthorized_companies)}家:")
for idx, company in enumerate(unauthorized_companies, 1):
    print(f"{idx}. {company}")

# 保存为Excel文件
pd.DataFrame({"未授权企业名称": unauthorized_companies}).to_excel("未授权企业列表.xlsx", index=False)

运行脚本后,输入目标产品名,就能直接得到未授权企业的列表,还会自动保存成新的Excel文件,非常省心~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:57:32