夜雨聆风学习资料网

ARTICLE · 1218168

一列公式搞定整张表?Excel 动态数组,一个公式顶过去一百个

一列公式搞定整张表?Excel 动态数组,一个公式顶过去一百个

一列公式搞定整张表?Excel 动态数组,一个公式顶过去一百个

很多人在 Excel 里算个数,还是老一套:写一个公式,然后拽着右下角的小十字往下拖,拖到几千行手都酸了。要是中间插了一行,还得回头检查公式有没有断。其实从 Office 365 和 WPS 新版本开始,Excel 有了「动态数组」能力——公式只写一格,结果自动溢出一片。今天把这件事讲透。

先搞懂:为什么以前必须拖公式

老版本 Excel 里,一个公式只认它所在的格子。你算 A2+B2 放在 C2,第三行的结果就得再写一遍公式,本质上是几百个独立的小公式各干各的。这就是为什么插行、删行之后经常出现 #REF! 报错——某个公式的引用被你物理删除了。而动态数组把逻辑反过来:公式描述的是"一整列的规则",而不是"某一个格子的算法"。规则在,结果就自动铺开。

三招立马上手

1、一键去重列清单:想知道一列里有哪些不重复的部门?在空白格写 =UNIQUE(B2:B5000),回车,所有不重复的部门自动列出来。新增数据后清单还会自己长。以前这活要靠「删除重复项」或数据透视表,现在一行公式。

2、多条件筛选直接出结果:把「销售部、金额大于 1 万」的记录整行抽出来,写 =FILTER(A2:D5000,(B2:B5000="销售部")*(D2:D5000>10000))。注意条件之间用 * 连接,表示"同时满足";换成 + 就是"满足其一"。结果是一张自动更新的小表,比反复筛选省事得多。

3、排序一步到位:=SORT(A2:C5000,2,-1) 表示按第 2 列降序排列整块数据。做排行榜、业绩榜再也不用手动排序后担心源数据变动。

一个关键习惯:给溢出区留白

动态数组的结果会自动向下、向右"溢出",如果溢出路径上有别的数据,就会报 #SPILL! 错误。所以写这类公式前,先确保结果区域的右边和下边是空的。另外,引用另一张表的动态数组时,写法是 =表2!B2#,井号代表"整片溢出区域",这是很多人不知道的细节。

什么时候还该用老办法

别矫枉过正。如果只是给三五行数据做个临时小计,直接拖公式更快;但如果数据会持续增长、需要反复更新,动态数组一次写好终身受益。判断原则就一条:数据是死的还是活的?活的数据用规则管理,死的数据随手算。另外,公司电脑如果还在用 Office 2016、2019 这类老版本,是没有这些函数的,升级前先确认环境。

小结一下:UNIQUE 去重、FILTER 筛选、SORT 排序,三个函数覆盖了日常报表八成的重复劳动。公式从"一格一格算"变成"一列一列管",这才是 Excel 这几年最大的升级。


与其加班拖公式,不如花五分钟把规则写对。

我是文之君,专注分享普通人用得上的电脑与软件技巧。觉得有用就点个关注,下期干货不错过。

相关学习资料