专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  6个Excel序号技巧,新手必会 ·  昨天  
Excel之家ExcelHome  ·  五个公式一枝花,月入三千都靠他 ·  3 天前  
完美Excel  ·  使用deepseek自动处理Excel工作表 ·  3 天前  
Excel之家ExcelHome  ·  按条件统计占比,一分钟搞定 ·  1 周前  
完美Excel  ·  查找错误值的多种方法 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

动态数组是个宝,高效办公离不了

Excel之家ExcelHome  · 公众号  · Excel  · 2024-11-20 06:45

正文

小伙伴们好啊,今天咱们分享几个动态数组公式:

1、 VSTACK 
作用:垂直合并数组
如下图所示,有两天的加工件数据,存放在不同工作表中。需要从两个工作表中提取出不重复的员工名单。
D2单元格输入以下公式,按回车即可“
=UNIQUE(VSTACK(A2:A11,'12月1日'!A2:A13))
先使用VSTACK函数将两个工作表中的姓名区域合并为一个垂直方向的数组,再使用UNIQUE函数从中提取处不重复记录。

2、TAKE
作用:从数组中保留部分行
如下图所示,希望从左侧数据表中,提取出“生产部”年龄最小的两位员工的信息。
E2单元格输入以下公式按回车即可:
=VSTACK(A1:C1,TAKE(SORT(FILTER(A2:C11,B2:B11="生产部"),3),2))
先使用FILTER函数,从A2:C11单元格区域中提取出符合条件的所有记录。
再使用SORT函数对数组结果中的第3列升序排序。
接下来使用TAKE函数,返回排序后的前两行的内容。
最后用VSTACK函数,将A1:C1单元格区域中的标题与TAKE函数的结果连接。

3、WRAPROWS
作用:按行列转换数组
如下图,希望将A列的姓名转换为两列。
C2单元格输入以下公式即可:
=WRAPROWS(A2:A16,2,"")
WRAPROWS用于将一列内容转换为多列,第1参数是要处理的数据区域,第二参数指定转换的列数。
如果转换后的行列区域大于实际的数据元素个数,第三参数可将这些多出的区域显示成指定的字符。

4、CHOOSECOLS
作用:返回数组中的部分列
如下图所示,希望在左侧数据表提取出生产部的员工姓名以及对应的年龄信息。
E2单元格输入以下公式,按回车即可。
=CHOOSECOLS(FILTER(A2:C11,B2:B11="生产部"),{1,3})
首先使用FILTER函数在A2:C11单元格区域中筛选出符合条件的所有记录,再使用CHOOSECOLS函数,返回数组中的第1列和第3列。

5、TOROW和EXPAND
TOROW 作用:将数组转换为一行。
EXPAND作用:将数组扩展到指定维度。
如下图所示,希望根据左侧的员工信息,每隔1行插入一个空行。
E1单元格输入以下公式,按回车即可:
=VSTACK(A1:C1,WRAPROWS(TOROW(EXPAND(A2:C11,,6,"")),3))
EXPAND(A2:C11,,6,""),公式中的这部分,用来将A2:C11转换为6列。多出的维度用空文本填充:
接下来,使用TOROW函数将以上结果转换为一行,此时,每组数据之间间隔了三个空白列:






请到「今天看啥」查看全文

推荐文章
Excel之家ExcelHome  ·  6个Excel序号技巧,新手必会
昨天
Excel之家ExcelHome  ·  五个公式一枝花,月入三千都靠他
3 天前
完美Excel  ·  使用deepseek自动处理Excel工作表
3 天前
Excel之家ExcelHome  ·  按条件统计占比,一分钟搞定
1 周前
完美Excel  ·  查找错误值的多种方法
1 周前
投资数据库  ·  中国PE母基金发展报告
8 年前
慈怀读书会  ·  杨澜:我为什么相信以貌取人
8 年前
InternetDeep  ·  2017新奇特APP108将
7 年前