无需UNIQUE/FILTER的Excel公式:统计零件号涉及的顶层装配体数量
兼容旧版Excel的零件对应独特顶层装配体统计方案
现有零件清单需统计每个零件号对应的独特顶层装配体数量,原Excel 365专用公式=SUM(--(LEN(UNIQUE(FILTER(A:A, C:C=C2, "")))>0))无法在非365版本运行,以下是兼容所有Excel版本的替代方案:
示例数据表格
| 顶层装配体 | 零件号 | 数量 | 使用次数 |
|---|---|---|---|
| 02554 | 01622 | 4 | 3 |
| 89975 | 01622 | 4 | 3 |
| 95665 | 01622 | 4 | 3 |
| 98886 | 01723 | 4 | 1 |
| 98886 | 01723 | 10 | 1 |
| 98886 | 01723 | 4 | 1 |
| 02554 | 01734 | 4 | 3 |
| 89975 | 01734 | 4 | 3 |
| 95665 | 01734 | 4 | 3 |
| 02554 | 01740 | 6 | 3 |
| 89975 | 01740 | 6 | 3 |
| 95665 | 01740 | 6 | 3 |
| 02554 | 01746 | 5 | 3 |
| 89975 | 01746 | 5 | 3 |
| 95665 | 01746 | 5 | 3 |
| 02554 | 01835 | 2 | 3 |
| 89975 | 01835 | 2 | 3 |
| 95665 | 01835 | 2 | 3 |
| 02554 | 51205 | 4 | 3 |
方案1:SUMPRODUCT组合公式(无需数组输入)
在对应零件号的统计单元格(比如D2,可根据实际位置调整)输入以下公式,然后下拉填充:
=SUMPRODUCT((C$2:C$20=C2)/(COUNTIFS(A$2:A$20,A$2:A$20,C$2:C$20,C2)))
说明:
- 替换公式中的
A$2:A$20和C$2:C$20为实际数据的行列范围,确保不包含表头 - 原理:通过
COUNTIFS统计当前零件号下每个顶层装配体的出现次数,用1除以该次数后,相同装配体的结果相加等于1,最终求和得到独特装配体的数量
方案2:数组公式(旧版Excel需按Ctrl+Shift+Enter确认)
如果方案1无法满足需求,可使用数组公式,输入后按Ctrl+Shift+Enter完成输入(Excel 365/2021可直接回车):
=SUM(IF(FREQUENCY(MATCH(A$2:A$20,A$2:A$20,0),MATCH(A$2:A$20,A$2:A$20,0))*(C$2:C$20=C2)>0,1,0))
说明:
- 同样需要调整数据范围到实际区域
- 原理:利用
MATCH获取每个顶层装配体首次出现的位置,FREQUENCY统计位置频次以去重,再筛选出当前零件号对应的条目,最后求和得到数量
验证结果
以示例数据为例:
- 零件号
01622统计结果为3,对应3个不同顶层装配体 - 零件号
01723统计结果为1,仅对应1个顶层装配体
与表格中“使用次数”列数值一致,公式有效
内容的提问来源于stack exchange,提问作者marib
相关产品推荐
相关产品推荐

