Excel公式需求:仅提取无更早年份记录的2019年产品ID
提取仅含2019年记录的产品ID方案
针对10万+条数据的场景,推荐以下几种高效可行的方法:
方法1:条件公式直接筛选
假设产品ID在A列,年份在B列,在空白列(比如C2单元格)输入公式:=IF(AND(B2=2019,COUNTIFS(A:A,A2,B:B,"<2019")=0),A2,"")
下拉填充整列后,筛选C列非空单元格,得到的就是仅存在2019年记录的产品ID。
原理:COUNTIFS统计当前ID是否有早于2019年的记录,AND同时验证当前行年份为2019且无更早记录,满足条件则返回ID。
方法2:Power Query处理大数据(推荐)
大数据量下公式可能卡顿,用Power Query更高效:
- 选中数据区域,点击「数据」→「从表格/区域」,进入Power Query编辑器
- 按「产品ID」分组,操作选择「所有行」,新列命名为「明细」
- 添加自定义列,输入公式:
=List.AllTrue(List.Transform([明细][年份], each _ = 2019)) - 筛选自定义列为
TRUE的行,提取「产品ID」列 - 点击「关闭并上载」,直接得到目标ID列表
方法3:数据透视表快速筛选
- 插入数据透视表,行字段选「产品ID」,值字段选「年份」并设置为「最小值」
- 筛选值区域(最小值)等于2019的行,这些ID的所有记录年份都是2019(因为最小值为2019,说明没有更早年份)
内容的提问来源于stack exchange,提问作者Henrik Rosqvist
相关产品推荐
相关产品推荐

