问题:
前两天,我们学会了标记和抓取重复项,已经能高效应对大部分工作。但现在,请想象一个更“苛刻”的场景:你手中的两份名单是动态更新的,随时会有新数据加进来。老板要求你制作的“重合客户名单”也要随之自动实时更新,并且名单本身要整洁美观(去除可能存在的自身重复),你该怎么办?
用前两天的办法,每次数据变动,你可能都需要重新填充公式、重新排序,略显繁琐。你需要一个“终极解决方案”——只需输入一次公式,就能得到一个动态的、自动去重的、整齐排列的结果表。
问题分析:
这个需求是最高阶的,它要求我们的解决方案:
动态数组:公式结果能自动溢出成一个区域,无需下拉填充。
动态引用:源数据区域变化时,结果区域自动重算并更新。
一步到位:同时完成“筛选重复项”和“去除结果中的自身重复”两步操作。
这需要请出Excel 365/Excel 2021中的函数:FILTER 和 UNIQUE。FILTER 是超级筛选器,UNIQUE 是去重专家。将它们组合,威力无穷。
问题解决:
操作步骤(请确保你的Excel是Office 365或2021版本):
选定输出位置:点击一个空白单元格,比如
E2。这里将是我们神奇名单的起点。输入“神器”公式:在
E2单元格中,直接输入以下公式:
=UNIQUE(FILTER(A2:A16, COUNTIF(B2:B12, A2:A16)))按确认键,即可得结果,如下图:
公式深度解读(从内到外看):
COUNTIF(B2:B12, A2:A16):这是核心判断。注意,这里的第二个参数A2:A16是一个整列区域。新版Excel允许COUNTIF进行“数组运算”,它会一次性判断A列每个单元格是否在B列区域中,生成一个由1(重复)和0(不重复)组成的数组{0;0;1;0;...}。FILTER(A2:A16, ...):FILTER函数以这个“1/0数组”为筛选条件。它会从A2:A16中,只“筛出”那些对应条件为1(即非零,表示重复)的项,生成一个包含所有重复项的临时数组。UNIQUE(...):最后,UNIQUE函数对这个临时数组进行处理,移除其中可能存在的重复值(因为A列本身可能有重复,如“张伟”),最终生成一个唯一值列表。
按下回车,公式结果从
E2单元格自动“溢出”,向下填充了刚好够用的单元格(E2:E9),整齐地列出了所有不重复的重复姓名!
最终效果与优势:
现在,E列出现了一份完美的“重合客户”名单:去除了A列自身的重复,并且按原顺序排列整齐。
最神奇的是,动态性:
如果你在A列或B列的原始数据中新增或修改一个姓名,只要它在两列中都出现,E列的名单会瞬间自动更新!
无需任何额外操作,公式结果区域(E2:E9)的大小也会根据结果自动调整。
重要提示:此方法为新版Excel(Office 365 / Excel 2021)专属功能,是未来Excel函数发展的方向,功能强大且简洁。
本篇End
热门跟贴