如何在Microsoft 365 Excel中自动统计重复项数量、指定单元格输出结果并删除重复项
如何在Microsoft 365 Excel中自动统计重复项数量、指定单元格输出结果并删除重复项
嗨!针对你手动统计食品出现次数、整理营养追踪数据的需求,结合你使用的Microsoft 365版Excel,我给你几个高效的方法,完全不用手动数、复制粘贴或者担心数据错位~
方法一:用动态数组公式一步生成结果(推荐!)
Microsoft 365支持动态数组函数,能自动生成去重列表+对应计数,还会随原始数据实时更新,超级省心:
场景1:单列表统计
假设你的原始食品数据在A列(A1是表头,数据从A2开始):
- 在空白区域(比如C1、D1)分别输入表头
食品名称、出现次数 - 在C2输入公式,生成所有不重复的食品:
按回车后,Excel会自动向下填充所有不重复的食品项=UNIQUE(A2:A500) // 把A500改成你数据的最后一行行号 - 在D2输入公式,自动对应每个食品的出现次数:
这里的=BYROW(C2:C#, LAMBDA(x, COUNTIF(A:A, x)))C#是Excel自动识别的动态数组范围,不用手动输入结束行,按回车后会自动生成所有计数结果
更简洁的一步到位写法
直接在C2输入这个公式,一次性生成两列结果(唯一值+计数):
=HSTACK(UNIQUE(A2:A500), COUNTIF(A:A, UNIQUE(A2:A500)))
场景2:多列合并统计(对应你的营养列表需求)
如果需要从多个营养对应的食品列(比如B列、D列、F列)合并统计每个食品的总出现次数,用VSTACK先合并所有列,再统计:
=HSTACK(UNIQUE(VSTACK(B2:B100, D2:D100, F2:F100)), COUNTIF(VSTACK(B2:B100, D2:D100, F2:F100), UNIQUE(VSTACK(B2:B100, D2:D100, F2:F100))))
这个公式会自动把多列数据合并成一个大列表,再生成去重结果和计数,完全不用手动复制粘贴!
方法二:用数据透视表快速生成统计结果
如果你对公式不太熟悉,数据透视表是更直观的选择:
- 选中你的原始数据范围(包括表头)
- 点击顶部菜单栏的插入→数据透视表,选择透视表的放置位置(比如新工作表)
- 在右侧的「数据透视表字段」面板:
- 把
食品字段拖到「行」区域,生成去重的食品列表 - 再把
食品字段拖到「值」区域,默认会显示计数结果(如果显示的是求和,右键值字段→「值字段设置」→选择「计数」)
- 把
- 生成透视表后,你可以复制结果,右键选择粘贴值,把统计结果转换成静态的文本/数字,放到需要的位置
关键优势
- 所有方法都不需要提前排序原始数据,Excel自动处理
- 动态数组公式支持实时更新:原始数据添加/删除食品后,统计结果会自动同步变化
- 彻底避免手动输入计数后删除重复项导致的数据错位问题
备注:内容来源于stack exchange,提问作者Lisa Beck




