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

Excel按条件统计唯一地址数:动态更新需求及实现方法

实现Tab2第三列自动统计对应组唯一地址数并适配新增行

完全可行,核心是让公式引用能自动适配新增行,同时准确统计唯一地址数,分两种常用场景给方案:

场景1:Excel 365/2021(支持动态数组)

先明确数据结构假设(可按实际调整):

  • Tab1:A列=唯一ID,B列=组标识,C列=地址
  • Tab2:A列手动输入唯一ID,B列用XLOOKUP拉取对应组标识(比如=XLOOKUP(A2, Tab1!A:A, Tab1!B:B)),C列要统计该组的唯一地址数

在Tab2的C2单元格输入以下公式,回车后会自动填充到下方所有非空行,新增行时公式自动生效:

=BYROW(A2:A, LAMBDA(id, IF(id="", "", LET(group, XLOOKUP(id, Tab1!A:A, Tab1!B:B), COUNTA(UNIQUE(FILTER(Tab1!C:C, Tab1!B:B=group)))))))

公式拆解:

  • BYROW(A2:A, LAMBDA(id, ...)):遍历Tab2 A列从A2开始的每一行
  • IF(id="", "", ...):空ID行返回空值,避免出现错误提示
  • LET(group, ...):先获取当前ID对应的组标识,简化后续计算逻辑
  • FILTER+UNIQUE:筛选出该组的所有地址并去重
  • COUNTA:统计去重后的有效地址数量

场景2:旧版Excel(无动态数组支持)

依靠Excel表结构实现公式自动扩展:

  1. 选中Tab2的已有数据区域(包含表头),按Ctrl+T创建表,勾选「表包含标题」选项
  2. 在第三列(比如表头设为「唯一地址数」)的第二行输入数组公式,按Ctrl+Shift+Enter确认生效:
=IF([@唯一ID]="", "", COUNTA(UNIQUE(IF(Tab1!$B:$B=[@组标识], Tab1!$C:$C, ""))))

说明:

  • 转为Excel表后,新增行时公式会自动复制到新行,无需手动下拉
  • [@唯一ID]、[@组标识]是表的结构化引用,自动对应当前行的列值
  • 数组公式通过IF筛选对应组的地址,再完成去重和数量统计

额外提示

  • 如果Tab1的原始数据也会新增行,建议把Tab1也转成Excel表,公式里的引用替换为结构化引用(比如Tab1[组标识]替代Tab1!B:B),稳定性更强
  • 若地址列存在空白值,COUNTA会忽略空白;如果需要把空白算作一个唯一值,将COUNTA(UNIQUE(...))替换为ROWS(UNIQUE(...))即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:12:35