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

Office 365 Excel如何提取指定工作表间A列唯一邮箱并统计频率?

跨指定工作表提取唯一邮箱并统计频次(Office 365)

1. 提取动态唯一邮箱列表(Summary表A2单元格)

在Summary工作表的A2单元格输入以下公式,它会自动提取Start和Stop之间所有工作表A列的唯一邮箱,并动态溢出填充到下方行:

=UNIQUE(TOCOL(INDIRECT("'"&TEXTJOIN("','",,FILTER(MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),ROW(GET.WORKBOOK(1))>MATCH("Start",MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),0),ROW(GET.WORKBOOK(1))<MATCH("Stop",MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),0)))&"'!A:A"),2)

公式拆解:

  • MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255):从系统返回的工作表全称中提取纯工作表名称(去掉前面的[工作簿名.xlsx]前缀)
  • MATCH("Start",...,0)/MATCH("Stop",...,0):定位Start和Stop工作表在列表中的位置
  • FILTER(...):筛选出位于Start和Stop之间的所有目标工作表名称
  • TEXTJOIN("','",,...):将筛选后的工作表名拼接成可被INDIRECT识别的引用格式
  • INDIRECT(...):转换成对目标工作表A列的实际引用
  • TOCOL(...,2):将所有目标工作表A列的数据合并为单一列,忽略空单元格
  • UNIQUE(...):去除重复值,生成动态唯一邮箱列表

2. 自动统计邮箱出现频次(Summary表B2单元格)

在B2单元格输入以下公式,它会自动对应A列的每个邮箱,统计其在所有目标工作表A列中的出现次数,同样动态溢出填充:

=BYROW(A#,LAMBDA(email,COUNTIF(TOCOL(INDIRECT("'"&TEXTJOIN("','",,FILTER(MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),ROW(GET.WORKBOOK(1))>MATCH("Start",MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),0),ROW(GET.WORKBOOK(1))<MATCH("Stop",MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,255),0)))&"'!A:A"),2),email)))

公式核心:

  • BYROW(A#,LAMBDA(email,...)):遍历A列的每个邮箱值
  • COUNTIF(...):统计当前邮箱在合并后的所有A列数据中的出现次数
  • 无需手动下拉公式,Office 365的动态数组功能会自动完成填充

注意事项

  • 确保Start和Stop工作表的名称完全准确,公式会严格匹配这两个标记工作表的位置
  • 若目标工作表名称包含空格或特殊字符,公式中的单引号已自动处理此类引用问题
  • 该方案依赖Office 365的动态数组功能(UNIQUE、TOCOL、BYROW等),需确保你的Excel版本支持这些函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:23:12