Excel里这几个“动态数组”函数,用一次就回不去了
- 2026-09-22 19:16:15
小伙伴们,大家好。
如果你还在用Excel做重复的复制粘贴、手动去重、一列列拆数据,那这篇文章建议你先收藏再往下看。因为接下来要讲的这几个动态数组函数,一旦用顺手,你可能会觉得以前的自己太辛苦了。
它们分别是:VSTACK、TAKE、WRAPROWS、CHOOSECOLS。
名字看着有点陌生?没关系,看完下面的例子,你会发现它们其实特别接地气。
一、两张表的人名怎么合并去重?VSTACK+UNIQUE
先来看一个特别常见的场景。
假设你手上有两张表,分别是11月和12月的加工件记录,员工名单分别放在两个不同的工作表里。现在领导说:把这两个月所有参与加工的员工名单整理出来,不要重复的。
Sheet1(11月数据):
Sheet2(命名为“12月1日”):
现在在Sheet1的D2单元格输入:
=UNIQUE(VSTACK(A2:A11,'12月1日'!A2:A13))
思路拆解:
VSTACK的作用是把两个区域“上下摞起来”,变成一个长长的名单。然后UNIQUE再从这个长名单里把重复的名字去掉,只留下唯一值。
一步到位,不用辅助列,也不用反复复制粘贴。
二、想找“生产部年龄最小的两个人”?TAKE来帮忙
再来看一个稍微复杂点的需求。
左边有一张员工信息表,现在想提取出“生产部”里年龄最小的两位员工,连标题一起显示出来。
数据表:
在E2单元格输入:
=VSTACK(A1:C1,TAKE(SORT(FILTER(A2:C11,B2:B11="生产部"),3),2))
思路拆解:
你看,逻辑其实很清晰,只是把几个函数串起来用了一次。
三、一列名字想变成两列?WRAPROWS几秒搞定
有时候我们把姓名整理在一列里,但打印或者排版时希望它变成两列、三列,甚至更多列。
以前可能要手动剪切、粘贴,现在一个WRAPROWS就够了。
数据表:
在C2单元格输入:
=WRAPROWS(A2:A16,2,"")
它的意思是:把A2到A16这一列数据,按每行2个的方式重新排列。如果最后一行不够两个,就用空字符补上。
第三个参数也可以换成“无”或者“/”,看你心情。
四、只要其中几列?CHOOSECOLS精准提取
最后一个场景:筛选出生产部员工后,只想看他们的姓名和年龄,其他列不想带出来。
数据表:
在E2单元格输入:
=CHOOSECOLS(FILTER(A2:C11,B2:B11="生产部"),{1,3})
FILTER负责筛选出生产部的所有记录,CHOOSECOLS负责从这些记录里只保留第1列和第3列。
{1,3}这个写法,就是告诉Excel:我只要这两列,别的先放一边。
最后说两句
这四个函数,单个看可能觉得没什么,但组合起来用,效率提升非常明显。
尤其是当你每天要处理大量表格、经常做数据汇总的时候,学会它们,真的能省下不少时间。
如果你觉得今天的内容有用,可以点个赞或者转发给身边还在手动折腾Excel的同事。后面我会持续分享更多函数的实战用法,感兴趣的话记得关注一下,免得错过。
咱们下期见。